我在上使用带有多日期选项的bootstzrap日期选择器
当我使用时
.datepicker("getDates")
我得到的日期格式是"2014-10-13T22:00:00.000Z",当试图在页面重新加载时将这些值插入同一个多日期选择器时会出错,因为我使用的是格式dd.mm.yyyy
我用来插入日期的函数是
.datepicker("setDates",nbworkersDates[i][0])
其中nbworkersDates[i][0]是元素的数组
我得到的错误是所有的日期都定在今天如何解决这个问题有什么建议吗?谢谢
这是我用数据填充行的全部代码
for (var i in nbworkersDates) {
var innerdata = (nbworkersDates[i]);
$('.workerDatesrow').each(function(i,r){
//console.log(nbworkersDates[i][0]);
//$('.nbworkersDate',r).val(nbworkersDates[i][0]),
$('.nbworkersDate',r).datepicker({
multidate: true,
format: 'dd.mm.yyyy',
multidateSeparator: ','
}).datepicker('setUTCDates', nbworkersDates[i][0].map(function(x) {
console.log('datum '+ x);
return new Date(x.substr(0, 10));
}));
$('.nbworkersDate', r).datepicker("setDates",nbworkersDates[i][0]),
$('.nbworkersnumber',r).val(nbworkersDates[i][1]),
$('.nbworkersfrom',r).val(nbworkersDates[i][2]),
$('.nbworkersto',r).val(nbworkersDates[i][3]);
});
和json 中的数据
"nbworkersDates":[[["2014-10-13T22:00:00.000Z","2014-10-14T22:00:00.000Z","2014-10-15T22:00:00.000Z"],"","",""],[["2014-10-13T22:00:00.000Z","2014-10-20T22:00:00.000Z","2014-10-27T23:00:00.000Z"],"","",""]]
问题是引导程序日期选择器内部方法parseDate无法解析日期字符串。请参见第1541行。您的字符串不满足条件parts.length === fparts.length
。例如,'2014-10-14T00:00:00.000Z'
将在parts = ['2014', '10', '14T00', '00', '00', '000Z']
中被拆分,而format = 'yyyy-mm-ddT00:00:00.000Z'
将在fparts = ['yyyy', 'mm', 'dd']
中被拆分。然后条件将为6 === 3
,parseDate将仅返回当前日期。
在'setDates'
之前创建新的Date
对象(请改用'setUTCDates'
),时间部分应为零。(示例)
$('#date').datepicker({
multidate: true,
format: 'yyyy-mm-ddT22:12:34.000Z',
multidateSeparator: ', '
}).datepicker('setUTCDates', [
'2014-10-14T22:00:00.000Z',
'2014-10-15T22:14:00.000Z',
'2014-10-16T22:20:00.798Z'
].map(function(x) {
return new Date(x.substr(0, 10));
}));