我使用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)
})
弃用警告:时刻构建回落到日期。这个 气馁,将在即将发布的主要版本中删除。请 有关详细信息,请参阅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
答案 0 :(得分:2)
由于第三个区块存在TypeError,您可以尝试将this.value
覆盖到" yyyy-mm-dd hh:mm:ss"格式自己。
这个问题可以帮助你解决这个问题:
祝福。答案 1 :(得分:1)
不确定您正在使用哪种服务器端语言,假设它是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
});