JavaScript将日期字符串转换为日期

4
如何将这样的字符串转换回日期对象?
"Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)"

有没有更本地化的方法在javascript中存储日期?

5
哎,人们都不愿意花点功夫去搜索答案。这类问题在这里和网络上的许多其他地方已经被反复回答过了。 - Jonathan M
2
天啊,我刚刚检查了一下,发现所有问题都已经在网上得到了解答,所以让我们关闭这个论坛,因为它对社区没有任何贡献。更好的做法是让它继续存在,并告诉人们去阅读手册并参考谷歌。 - mustapha george
这里重视付出的努力,它会得到更好的答案。虽然有些奇怪,但却是真实的。 :) - Jonathan M
5个回答

13

我已经在IE7、IE8、IE9、chrome和firefox 6中测试过了:

new Date('Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)');

它有效。


2

有没有一种格式,我可以将其存储为字符串,然后在不进行所有打包和解包的情况下将其转换回JS对象? - mustapha george

0

Date.parse(your date string)会返回自1970年1月1日00:00:00 UTC以来的毫秒数。请将此数字存储起来。当您想要显示一个日期时,请使用new Date(theNumber)。例如:

var milliseconds = Date.parse("Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)");
// milliseconds == 1313694835000


alert(new Date(milliseconds));
// alerts  Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)

0

日期对象非常灵活,因此您可以直接在新对象中使用字符串。

http://www.w3schools.com/js/js_obj_date.asp

new Date("Thu Aug 18 2011 15:13:55 GMT-0400 (Eastern Daylight Time)")

我经常这样说,但是当涉及到这样的事情时,在浏览器控制台中进行实验并真正感受对象的能力总是很棒的...祝编码愉快!


0
如果你的日期格式始终是标准的(确信无疑),你可以根据空格字符将其拆分为数组,然后从数组中的项目创建一个日期对象。
也许不是最好的方法,但如果你的地址是标准化的,那么这可能不会太糟糕,并且实现/执行起来可能相当快速。 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接