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);
看小提琴的更多细节。