JavaScript无效日期
问题描述:
我正在通过'date time UTC'日期,例如2012-03-10 20:00:00 UTC
。我如何解析使用JavaScript的日期,以便我可以获得时间?JavaScript无效日期
答
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]);
}
由于Date.parse返回NaN,所以返回Invalid Date。 – Chris 2012-07-26 01:04:55
@Chris:好吧,它适用于我:)在这里,我添加了一个更兼容的解决方案。 (但是目前DST的表现并不好,给我一分钟......) – Ryan 2012-07-26 01:09:55
@Chris:好的,现在就试试吧。 – Ryan 2012-07-26 01:16:39