Twitter bootstrap 引导日期选择器multidates getDates

Twitter bootstrap 引导日期选择器multidates getDates,twitter-bootstrap,datepicker,jquery-multidatespicker,Twitter Bootstrap,Datepicker,Jquery Multidatespicker,我正在使用带多个日期选项的bootstzrap日期选择器 当我使用 .datepicker("getDates") 我以格式“2014-10-13T22:00:00.000Z”获取日期,这导致在尝试将此值插入页面重新加载时的同一个多日期选择器时出错,因为我使用的格式是dd.mm.yyyy 我用来插入日期的函数是 .datepicker("setDates",nbworkersDates[i][0]) 其中nbworkersDates[i][0]是元素数组 我得到的错误是所有日期都设置为今天

我正在使用带多个日期选项的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'
将被拆分为
部分=['2014','10','14T00','00','00','000Z']
,当
格式='yyyy-mm-ddT00:00:00.000Z'
将被拆分为
部分=['YYYYYY','mm','dd']
。然后条件将是
6===3
parseDate将只返回当前日期

'setDates'
之前创建新的
日期
对象(改为使用
'setUTCDates'
),时间部分应为零。()


您正在尝试插入字符串数组吗?是的,因为setDates接受数组,所以我已经为您的问题编写了答案。这对你有帮助吗?找到了我的bug和thanx的解决方案
$('#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));
}));