【问题标题】:JQuery UI Datepicker SetDateJQuery UI Datepicker SetDate
【发布时间】:2015-10-08 18:16:58
【问题描述】:

我使用流行的 JQuery UI Datepicker 在我的网站上添加/修改事件。我在使用 setDate 正确显示日期时遇到问题。无论我做什么,错误的日期似乎总是出现。以下是我尝试过的一些不同的事情:

日期显示为 01/17/1970,而它应该是 10/15/2015,这就是我需要它的工作方式,使用 php:

    $(function() {
        var date = new Date(<?php echo strtotime($date); ?>);
        $("#date").datepicker();
        $("#date").datepicker("setDate", date);
        $("#date").datepicker( "option", "showAnim", "slideDown" );
    });

这样设置的日期值不一致,无论你设置什么日期,日期总是错误的,但没有规律。

    $(function() {
        var date = new Date(2015, 10, 15);
        $("#date").datepicker();
        $("#date").datepicker("setDate", date);
        $("#date").datepicker( "option", "showAnim", "slideDown" );
    });

【问题讨论】:

    标签: php jquery jquery-ui datepicker


    【解决方案1】:

    Javascript Date 对象的构造函数在只给定一个参数时需要几毫秒。

    PHP 函数 strtotime() 返回 Unix 时间戳,即自 1970-01-01 以来的秒数。

    如果您将时间戳乘以 1,000,您将获得一个合适的值以传递给 Date 构造函数。

    var date = new Date(<?php echo (strtotime($date) * 1000); ?>);
    

    【讨论】:

      【解决方案2】:

      我之前也试过这样,但忘记在 php.ini 中加引号。现在可以了:

      <script>
          $(function() {
              $("#date").datepicker();
              $("#date").datepicker("setDate", "<?php echo $date ?>");
              $("#date").datepicker( "option", "showAnim", "slideDown" );
          });
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-19
        • 2010-12-29
        • 1970-01-01
        • 1970-01-01
        • 2020-02-21
        • 2017-04-29
        相关资源
        最近更新 更多