2012-02-04 95 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的日期选取器最小值最大值日期问题

enter image description here

在我的位置(印度)的范围限制似乎显示正确。但在US范围显示从2012-02-05到2012-02-11。

我不知道为什么它的限制前一天。我检查了萤火虫的限制范围是正确的,但在US范围显示为2012-02-05至2012-02-11

请帮我解决这个问题。

+0

时区问题?从你的时间推到美国的时区可能会导致日子回到原点? :/ – 2012-02-04 07:41:48

+0

是的。如何解决这个问题。我需要普遍以正确的方式显示范围 – 2012-02-04 08:02:50

+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-问题)? – 2012-02-04 08:10:43

回答

2

这发生在同一个脚本在两个不同的地方执行时。请注意,这些脚本将在使用用户时区的用户浏览器上运行。

当您运行minDate: new Date("2012-02-12")时,传递的参数用于计算本地时区中的Date。所以如果你在IST,它会生成日期为2012-02-12, 50:30,如果你在EST,它将生成2012-02-11, 19:00

解决方案,以生成完整的日期和时间值的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); – 2012-02-04 10:21:32

+0

在javascript月份中,从0开始,Jan代表0,feb代表1等等。因此,以上日期你试图创建2012年2月30日,这是不存在的,因此指向2012年3月1日。尝试'新日期(2012,00,20,00,00,00)' – nkm 2012-02-04 10:34:09

+0

谢谢。有用。 – 2012-02-04 10:34:52

相关问题