我怎么能打开这个字符串
Sun Apr 25, 2010 3:30pm
进入JavaScript中的有效日期(最小代码是我的目标)?
答案 0 :(得分:3)
Date.parse
几乎可以获得你想要的东西。它在am
/ pm
部分窒息,但有一些黑客行为,你可以让它工作:
var str = 'Sun Apr 25, 2010 3:30pm',
timestamp;
timestamp = Date.parse(str.replace(/[ap]m$/i, ''));
if(str.match(/pm$/i) >= 0) {
timestamp += 12 * 60 * 60 * 1000;
}
Minicode看起来像这样:
var s = 'Sun Apr 25, 2010 3:30pm';
Date.parse(s.slice(0,-2))+432E5*/pm$/.test(s);
答案 1 :(得分:2)
你可以试试Datejs http://www.datejs.com/ 这不需要你编写很多代码,但需要在你的html中包含这个脚本。
答案 2 :(得分:2)
任何规范都不保证您的方法的结果。
ECMAScript Edition 3是相关的,并没有指定Date.parse可以解析的任何格式。此外,该规范指出,当Date.parse
提供的值不能由Date.prototype.toString
或Date.prototype.toLocaleString
生成时,结果取决于实现。
...当
Date.parse
或toString
方法无法在该实现中生成任何字符串值时,toUTCString
生成的值与实现有关。
在传递您自己的特定于语言环境的日期格式时,不要指望来自Date.parse
的一致结果。
可以使用ISO-8601格式,您的程序可以解析该值。也可以看看: Date constructor returns NaN in IE, but works in Firefox and Chrome