我有这样的日期格式2011-07-29T08:18:39

我想将此日期转换为毫秒
我尝试

var myDate = '2011-07-29T08:18:39';
new Date(myDate.replace("T"," ")).getTime()

但显示我NaN。
请帮忙
谢谢

最佳答案

T.J.是正确的;我原来的解决方案在IE9和Safari中失败。这样就可以了,并且可以在所有主要的浏览器中使用。

var myDate = '2011-07-29T08:18:39';

function parseDate(dateString){
    var time = Date.parse(dateString);
    if(!time){
        time = Date.parse(dateString.replace("T"," "));
        if(!time){
            bound = dateString.indexOf('T');
            var dateData = dateString.slice(0, bound).split('-');
            var timeData = dateString.slice(bound+1, -1).split(':');

            time = Date.UTC(dateData[0],dateData[1]-1,dateData[2],timeData[0],timeData[1],timeData[2]);
        }
    }
    return time;
}

var milliseconds = parseDate(myDate);

10-06 15:19