2012-07-26 101 views
2

我正在通过'date time UTC'日期,例如2012-03-10 20:00:00 UTC。我如何解析使用JavaScript的日期,以便我可以获得时间?JavaScript无效日期

回答

0

Date.parse可以做到这一点:

new Date(Date.parse('2012-03-10 20:00:00 UTC')) 

至少,它可以在谷歌浏览器。如果你发现任何兼容性问题,这将取而代之:

function parseDate(date) { 
    var m = /^(\d{4})-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d) UTC$/.exec(date); 
    var tzOffset = new Date(+m[1], +m[2] - 1, +m[3], +m[4], +m[5], +m[6]).getTimezoneOffset(); 

    return new Date(+m[1], +m[2] - 1, +m[3], +m[4], +m[5] - tzOffset, +m[6]); 
} 
+0

由于Date.parse返回NaN,所以返回Invalid Date。 – Chris 2012-07-26 01:04:55

+0

@Chris:好吧,它适用于我:)在这里,我添加了一个更兼容的解决方案。 (但是目前DST的表现并不好,给我一分钟......) – Ryan 2012-07-26 01:09:55

+0

@Chris:好的,现在就试试吧。 – Ryan 2012-07-26 01:16:39