在 javascript 中将 iso 日期转换为毫秒
2022-08-30 05:03:01
我可以将 iso 日期转换为毫秒吗?例如,我想转换这个iso
2012-02-10T13:19:11+0000
到毫秒。
因为我想比较当前日期与创建日期。创建日期是 iso 日期。
我可以将 iso 日期转换为毫秒吗?例如,我想转换这个iso
2012-02-10T13:19:11+0000
到毫秒。
因为我想比较当前日期与创建日期。创建日期是 iso 日期。
试试这个
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
console.log(milliseconds);
编辑
您已提供 ISO 日期。它也被对象的构造函数接受Date
var myDate = new Date("2012-02-10T13:19:11+0000");
var result = myDate.getTime();
console.log(result);
编辑
我发现的最好的方法是手动摆脱偏移。
var myDate = new Date("2012-02-10T13:19:11+0000");
var offset = myDate.getTimezoneOffset() * 60 * 1000;
var withOffset = myDate.getTime();
var withoutOffset = withOffset - offset;
console.log(withOffset);
console.log(withoutOffset);
似乎有效。至于将ISO字符串转换为对象的问题,您可以参考提供的链接。Date
编辑
根据Prasad19sara的评论修复了错误转换为毫秒的错误。
上述解决方案的简写是
var myDate = +new Date("2012-02-10T13:19:11+0000");
它执行动态类型转换,并以毫秒格式直接输出日期。
另一种方法也是使用Date util的解析方法,该方法仅以毫秒为单位输出EPOCH时间。
var myDate = Date.parse("2012-02-10T13:19:11+0000");