Rob*_*tan 66 javascript iso isodate
我可以将iso日期转换为毫秒吗?例如,我想转换此iso
2012-02-10T13:19:11+0000
Run Code Online (Sandbox Code Playgroud)
到毫秒.
因为我想比较创建日期的当前日期.创建日期是iso日期.
Oyb*_*bek 111
试试这个
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
Run Code Online (Sandbox Code Playgroud)
编辑
您已提供ISO日期.它也被Date对象的构造函数接受
var myDate = new Date("2012-02-10T13:19:11+0000");
var result = myDate.getTime();
Run Code Online (Sandbox Code Playgroud)
编辑
我发现最好的是手动摆脱偏移.
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);
Run Code Online (Sandbox Code Playgroud)
似乎工作.至于将ISO字符串转换为Date对象的问题,您可以参考提供的链接.
编辑
根据Prasad19sara的评论修正了错误转换为毫秒的错误.
Tah*_*koz 24
以前的解决方案的简写是
var myDate = +new Date("2012-02-10T13:19:11+0000");
Run Code Online (Sandbox Code Playgroud)
它执行即时类型转换,并以毫秒格式直接输出日期.
另一种方法是使用Date util的parse方法,它只输出EPOCH时间,以毫秒为单位.
var myDate = Date.parse("2012-02-10T13:19:11+0000");
Run Code Online (Sandbox Code Playgroud)
截至2017年的另一种选择是使用Date.parse()。MDN的文档指出,但是,它在ES5之前是不可靠的。
var date = new Date(); // today's date and time in ISO format
var myDate = Date.parse(date);
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参见小提琴。
小智 5
是的,您可以在一行中完成此操作
let ms = Date.parse('2019-05-15 07:11:10.673Z');
console.log(ms);//1557904270673
Run Code Online (Sandbox Code Playgroud)