2012-02-04 2 views
0
<?php 
$week_start_date = '2012-02-06'; 
$week_start_date = '2012-02-12'; 
?> 

$("#test").datepicker({ 
    altField: "#test1", 
    altFormat: "yy-mm-dd", 
    autoSize: true, 
    minDate: new Date("<?php echo $week_start_date; ?>"), 
    maxDate: new Date("<?php echo $week_end_date; ?>") 
}); 

ВЫВОДJquery Date Picker Min Max дата выдачи

enter image description here

В моем месте (Индия) ограничение диапазона кажется отображаться правильно. но в US показаны диапазоны с 2012-02-05 по 2012-02-11.

Я не знаю, почему его ограничение на день раньше. я проверил в firebug диапазон ограничения прав, но в US диапазон отображается как 2012-02-05 по 2012-02-11.

Пожалуйста, помогите мне решить эту проблему.

+0

Timezone? Нажатие на часовой пояс в США с вашего времени может заставлять дни прыгать назад? :/ –

+0

да. как это решить. мне нужно повсеместно отображать диапазон в правильном направлении –

+0

Вы проверили [этот вопрос] (http://stackoverflow.com/questions/7754740/jquery-datepicker-formatdate-and-timezone-offset), [этот вопрос] (http://stackoverflow.com/questions/2138208/jquery-ui-datepicker-and-timezones) или [этот вопрос] (http://stackoverflow.com/questions/5398931/jquery-date-picker-timezone- выпуск)? –

ответ

2

Это происходит, когда один и тот же скрипт выполняется в двух разных местах. Обратите внимание, что этот скрипт будет запущен в браузере пользователя, который использует часовой пояс пользователя.

Когда вы запустите minDate: new Date("2012-02-12"), переданный параметр используется для вычисления даты в локальном часовом поясе. Поэтому, если вы находитесь в IST, он будет генерировать дату для 2012-02-12, 50:30, и если вы находитесь в EST, он будет генерировать 2012-02-11, 19:00.

Solution, генерировать объект Date по полной даты и значения времени, выпуск

> d = new Date(2012,02,12,00,00,00) 
=> Date {Mon Mar 12 2012 00:00:00 GMT+0530 (IST)} 
+0

У меня была дата начала gn как новая Дата (2012,01,30,00,00,00); и дату окончания в качестве новой даты (2012,02,5,23,59,59); –

+0

В javascript месяц начинается с 0, Jan представлен как 0, feb как 1 и так далее. Таким образом, с вышеуказанной датой вы пытаетесь создать 30 февраля 2012 года, чего не существует и, следовательно, указывая на 1 марта 2012 года. Попробуйте 'new Date (2012,00,20,00,00,00)' – nkm

+0

спасибо. оно работает. –