2015-12-17 62 views
1

我正在使用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) 
}) 

Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.

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

TypeError: defaultDate() Could not parse date parameter: 1029452400000

+0

你可以尝试给它如下 defaultDate:“15/8/2013” –

回答

2

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

这个问题可以帮助你来解决它:

Format JavaScript Date to yyyy-mm-dd

最良好的祝愿。

1

不知道你正在使用这样假设它是PHP

服务器端语言

所有的服务器端的日期格式的第一个是不同的,那么随后的DateTimePicker格式,您需要更改服务器端的日期格式为自举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