JavaScriptdate转换为毫秒

我可以将isodate转换为毫秒吗? 例如我想转换这个ISO

2012-02-10T13:19:11+0000 

到毫秒。

因为我想比较创builddate的当前date。 并且创builddate是一个isodate。

尝试这个

 var date = new Date("11/21/1987 16:00:00"); // some mock date var milliseconds = date.getTime(); // This will return you the number of milliseconds // elapsed from January 1, 1970 // if your date is less than that date, the value will be negative 

编辑

你提供了一个ISOdate。 它也被Date对象的构造函数接受

 var myDate = new Date("2012-02-10T13:19:11+0000"); var result = myDate.getTime(); 

编辑

我发现的最好的办法是手动清除偏移量。

 var myDate = new Date("2012-02-10T13:19:11+0000"); var offset = myDate.getTimezoneOffset() * 60 * 1000; var withOffset = myDate.getTime(); var withoutOffset = withOffset - offset; alert(withOffset); alert(withoutOffset); 

似乎工作。 至于将ISOstring转换为Date对象的问题,您可以参考提供的链接。

编辑

修正了根据Prasad19sara的评论错误转换为毫秒的错误。

以前的解决scheme的简写是

 var myDate = +new Date("2012-02-10T13:19:11+0000") 

它以毫秒的格式直接输出date。

另一个可能的解决scheme是将当前date与January 1, 1970日进行比较,您可以通过new Date(0)得到January 1, 1970 ;

 var date = new Date(); var myDate= date - new Date(0); 

2017年的另一个select是使用Date.parse() 。 然而,MDN的文档指出,在ES5之前它是不可靠的。

 var date = new Date(); // today's date and time in ISO format var myDate = Date.parse(date); 

看小提琴的更多细节。