在JavaScript中将字符串转换为日期

在JavaScript中将字符串转换为日期

问题描述:

我需要将字符串格式的日期转换为2011-05-12 16:50:44.055,自1970年1月1日以来的毫秒数1970年的日期格式

i need to convert from a date in string format like this "2011-05-12 16:50:44.055" to the number of milliseconds since midnight 1 January 1970 date format in Javascript

为确保跨浏览器的正确行为,我认为您应该自己解析字符串。我将此答案塑造成:

To ensure correct cross-browser behaviour, I think you should parse the string yourself. I moulded this answer into:

function msFromString(dateAsString)
{
    var parts = dateAsString.match(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}).(\d{3})/);

    return new Date(parts[1],
                    parts[2] - 1,
                    parts[3],
                    parts[4],
                    parts[5],
                    parts[6],
                    parts[7]).getTime();
}

console.log(msFromString("2011-05-12 16:50:44.055"));

这将输出 1305211844055