jQuery日期选择器最小最大日期问题

时间:2012-02-04 06:44:59

标签: php jquery jquery-ui jquery-ui-datepicker

<?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; ?>")
});

输出

enter image description here

在我的位置(印度),范围限制似乎显示正确。但在美国范围内显示的范围为2012-02-05至2012-02-11。

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

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

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

运行minDate: new Date("2012-02-12")时,传递的参数用于计算本地时区的日期。因此,如果您在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)}