【问题标题】:jQuery Date Picker Min Max date issuejQuery Date Picker Min Max 日期问题
【发布时间】:2012-02-04 06:44:59
【问题描述】:
<?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; ?>")
});

输出

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

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

请帮我解决这个问题。

【问题讨论】:

  • 时区问题?从你的时间推到美国的时区可能会导致日子倒退吗? ://
  • 是的。如何解决这个问题。我需要普遍以正确的方式显示范围
  • 您查看过this questionthis questionthis question 吗?

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


【解决方案1】:

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

当您运行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)}

【讨论】:

  • 我将 gn 开始日期设置为 new Date(2012,01,30,00,00,00);和结束日期为新日期(2012,02,5,23,59,59);
  • 在 javascript 中,月份以 0 开头,Jan 表示为 0,feb 表示为 1,依此类推。因此,对于上述日期,您尝试创建 2012 年 2 月 30 日,该日期不存在,因此指向 2012 年 3 月 1 日。尝试new Date(2012,00,20,00,00,00)
猜你喜欢
  • 2011-11-03
  • 1970-01-01
  • 2023-03-10
  • 2012-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
相关资源
最近更新 更多