Как получить выбранный день/месяц и год из jquery datepicker

Я использую плагин JQuery UI Datepicker, я пытаюсь получить выбранный день, месяц и год от datepicker в разных переменных (окончательное решение - назначить все 3 переменные скрытым полям).

Вот код:

$(function() {
 $("#_StartDate").datepicker(
 {
 onSelect: function(dateText, inst) {
 var startDate = new Date(dateText);
 var selDay = startDate.getDay();
 alert(selDay);
 }
 }
 );
 });

Я выбрал дату "1/10/2011" и он возвращает "1". Я выбрал дату "1/25/2011", и он возвращает "2". Что я здесь делаю неправильно?

Спасибо за вашу помощь!

3 ответа

getDay возвращает день недели:)

Вы можете использовать:

getFullYear за год getDate день месяца getMonth месяц года

Выполняет полный список геттеров (из DevDocs):

Date.prototype.getDate() Возвращает день месяца (1-31) на указанную дату в соответствии с местным временем. Date.prototype.getDay() Возвращает день недели (0-6) на указанную дату в соответствии с местным временем. Date.prototype.getFullYear() Возвращает год (4 цифры для 4-значных лет) указанной даты в соответствии с местным временем. Date.prototype.getHours() Возвращает час (0-23) в указанную дату в соответствии с местным временем. Date.prototype.getMilliseconds() Возвращает миллисекунды (0-999) в указанную дату в соответствии с местным временем. Date.prototype.getMinutes() Возвращает минуты (0-59) в указанную дату в соответствии с местным временем. Date.prototype.getMonth() Возвращает месяц (0-11) в указанную дату в соответствии с местным временем. Date.prototype.getSeconds() Возвращает секунды (0-59) в указанную дату в соответствии с местным временем. Date.prototype.getTime() Возвращает числовое значение указанной даты как количество миллисекунд с 1 января 1970 года, 00:00:00 UTC (отрицательное значение для предыдущих времен). Date.prototype.getTimezoneOffset() Возвращает смещение временной зоны в минутах для текущей локали. Date.prototype.getUTCDate() Возвращает день (дату) месяца (1-31) в указанную дату в соответствии с универсальным временем. Date.prototype.getUTCDay() Возвращает день недели (0-6) в заданную дату в соответствии с универсальным временем. Date.prototype.getUTCFullYear() Возвращает год (4 цифры для 4-значных лет) в заданную дату в соответствии с универсальным временем. Date.prototype.getUTCHours() Возвращает часы (0-23) в заданную дату в соответствии с универсальным временем. Date.prototype.getUTCMilliseconds() Возвращает миллисекунды (0-999) в заданную дату в соответствии с универсальным временем. Date.prototype.getUTCMinutes() Возвращает минуты (0-59) в указанную дату в соответствии с универсальным временем. Date.prototype.getUTCMonth() Возвращает месяц (0-11) в заданную дату в соответствии с универсальным временем. Date.prototype.getUTCSeconds() Возвращает секунды (0-59) в заданную дату в соответствии с универсальным временем. Date.prototype.getYear() Возвращает год (обычно 2-3 цифры) в указанную дату в соответствии с местным временем. Вместо этого используйте getFullYear() **.


Единственное возвращение .getDay() (день недели 0-6), вам нужно сделать что-то вроде:

var selDay = ...
var selMon = startDate.getMonth();
var selYear = startDate.getYear();

Ссылка: http://www.w3schools.com/jsref/jsref_obj_date.asp

Примечание

Обратите особое внимание на то, что возвращается, getDay() → 0-6 getMonth() → 0-11 и т.д. все в ссылке, которую я предоставил.


Чтобы захватить val из поля ввода:

var start_date=$('input#start_date').val();

licensed under cc by-sa 3.0 with attribution.