【问题标题】:jQuery UI Datepicker won't accept unix timestamp as default valuejQuery UI Datepicker 不接受 unix 时间戳作为默认值
【发布时间】:2010-12-23 05:52:40
【问题描述】:

我有 Unix 时间戳“1264529457”,它转换为 2010 年 1 月 26 日,它存储在名为“america”的输入元素中。

在初始化 jQuery UI 的 Datepicker 时,我有以下代码来设置默认日期:

defaultDate: $.datepicker.parseDate('@', $("input[name=america]").val()),

当我在 Firebug 中手动检查结果时,它显示“Thu Jan 15 1970 00:00:00 GMT-0500 (Eastern Standard Time) {}”。知道出了什么问题(这个函数的文档有点稀疏,所以我猜我错过了什么)?

【问题讨论】:

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


    【解决方案1】:

    Unix 时间以秒为单位存储,而 Javascript 使用毫秒。尝试先将 Unix 时间戳乘以 1000。

    【讨论】:

    • 感谢您花时间解释这一点。 :)
    【解决方案2】:

    Ben 是正确的,您需要将时间戳乘以 1000,因为 Javascript 使用毫秒。 这应该可以。

    defaultDate: $.datepicker.parseDate('@', $("input[name=america]").val()*1000),

    【讨论】:

      【解决方案3】:

      您可以将该值作为数字传递给Date() 构造函数,如下所示:

      $("#datepicker").datepicker({
          defaultDate: new Date(parseInt($("input[name=america]").val(), 10))
      });
      

      You can test it out here.

      【讨论】:

      • 更喜欢下面的解决方案,但我也会记住这一点。你发布的那个链接看起来真的很有用——我以后会搞砸的。
      猜你喜欢
      • 2011-11-06
      • 2020-04-19
      • 2012-06-19
      • 2020-05-16
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      相关资源
      最近更新 更多