以下代码似乎在 Firefox 中有效,但在 Chrome 中无效:
var d = Date.parse("Sep 23, 2012 24:0:0");
alert (d);
它在 Firefox 中以毫秒为单位发出警报,但我在 Chrome 中得到一个 NaN。
当然,最后 3 个数字 (24:0:0) 可能不会算作“日期”,但我想有一个简单的解决方案来让代码跨浏览器工作。
以下代码似乎在 Firefox 中有效,但在 Chrome 中无效:
var d = Date.parse("Sep 23, 2012 24:0:0");
alert (d);
它在 Firefox 中以毫秒为单位发出警报,但我在 Chrome 中得到一个 NaN。
当然,最后 3 个数字 (24:0:0) 可能不会算作“日期”,但我想有一个简单的解决方案来让代码跨浏览器工作。
这应该适用于您列出的格式:
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 对象或整数时间戳,但这应该让你们两个都受益。
Chrome似乎不支持时间...
试试Date.parse("Sep 23, 2012");
应该可以
Date.parse 不应该根据规范解析时间。您需要第三方代码。请参阅: 从 Javascript 中的用户输入将时间解析为 Date 对象的最佳方法是什么?