在Chrome中解析日期(随时间)

时间:2012-09-18 14:13:56

标签: javascript datetime

以下代码似乎适用于Firefox但不适用于Chrome:

var d = Date.parse("Sep 23, 2012 24:0:0");
alert (d);

它警告Firefox中的毫秒,但我在Chrome中获得了NaN。

当然,最后3个数字(24:0:0)可能不算作'日期',但我希望有一个简单的解决方案来使代码跨浏览器工作。

2 个答案:

答案 0 :(得分:2)

这适用于您列出的格式:

var parts = "Sep 23, 2012 21:1:2".match(/(.*) (\d+):(\d+):(\d+)/)
var d = new Date(parts[1])
d.setHours(parts[2])
d.setMinutes(parts[3])
var tstamp = d.setSeconds(parts[4])

不确定您最终是否需要Date对象或整数时间戳,但这应该可以兼顾两者。

答案 1 :(得分:1)

Chrome似乎不支持时间...

尝试Date.parse("Sep 23, 2012"); 它应该工作

Date.parse不应该根据规范解析时间。 你需要第三方代码。 见: What is the best way to parse a time into a Date object from user input in Javascript?