【问题标题】:Bootstrap date time picker initial value引导日期时间选择器初始值
【发布时间】:2015-12-17 11:25:00
【问题描述】:

我正在使用https://github.com/Eonasdan/bootstrap-datetimepicker 小部件来显示日历。但我不明白如何通过 js 从服务器设置初始值。

我从服务器接收值格式:

Fri, 01 Jan 2016 00:00:00 GMT

但是我所有设置默认日期的尝试都失败了:

$el.datetimepicker({
    format: 'YYYY-MM-DD HH:mm:ss',
    defaultDate: moment(this.value, "YYYY-MM-DD HH:mm:ss")
})

$el.datetimepicker({
    format: 'YYYY-MM-DD HH:mm:ss',
    defaultDate: new Date(this.value)
})

弃用警告:时刻构造回退到 js 日期。这 不鼓励使用,并将在即将发布的主要版本中删除。请 更多信息请参考https://github.com/moment/moment/issues/1407

$el.datetimepicker({
    format: 'YYYY-MM-DD HH:mm:ss',
    defaultDate: moment(new Date(this.value), "YYYY-MM-DD HH:mm:ss")
})

TypeError: defaultDate() 无法解析日期参数:1029452400000

【问题讨论】:

  • 您可以尝试将其设置为以下 defaultDate: "15/8/2013"

标签: javascript twitter-bootstrap datepicker


【解决方案1】:

由于第三个block有TypeError,你可以自己尝试将this.value覆盖为“yyyy-mm-dd hh:mm:ss”格式。

这个问题可能会帮助你处理它:

Format JavaScript Date to yyyy-mm-dd

祝你好运。

【讨论】:

    【解决方案2】:

    不确定您使用的是哪种服务器端语言,所以假设它是 PHP

    首先服务器端日期格式和datetimepicker格式不同,你需要将服务器端日期格式改为bootstrap datetimepicker格式format: 'YYYY-MM-DD HH:mm:ss';

    如果 PHP 和日期是 Fri, 01 Jan 2016 00:00:00 GMT 格式,

    改变它

    <?php
    $sdate = "Fri, 01 Jan 2016 00:00:00 GMT";
    $newdate = gmdate("Y-m-d H:m:s", strtotime($sdate));
    echo $newdate;
    //output will be 2016-01-01 00:01:00
    ?>
    

    现在在 JS 中,创建一个变量并加载 newdate 并设置 defaultDate

    var serdate = '2016-01-01 00:01:00';
    $('#datetimepicker1').datetimepicker({
      format: 'YYYY-MM-DD HH:mm:ss',
      defaultDate: serdate,
      allowInputToggle: true
    });
    

    Fiddle Example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      • 1970-01-01
      • 2013-08-08
      • 2013-05-09
      • 1970-01-01
      • 2017-08-29
      相关资源
      最近更新 更多