2012-07-26 157 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