我可以将iso日期转换为毫秒吗? 例如,我想转换此iso
2012-02-10T13:19:11+0000
到毫秒。
因为我想比较创建日期的当前日期。创建的日期是iso日期。
答案 0 :(得分:95)
试试这个
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
修改
您提供了ISO日期。它也被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);
似乎工作。至于将ISO字符串转换为Date
对象的问题,您可以参考提供的链接。
修改
根据Prasad19sara的评论修正了错误转换为毫秒的错误。
答案 1 :(得分:22)
以前的解决方案的简写是
var myDate = +new Date("2012-02-10T13:19:11+0000");
它进行即时类型转换,并以毫秒格式直接输出日期。
另一种方法是使用Date util的parse方法,它只输出EPOCH时间,以毫秒为单位。
var myDate = Date.parse("2012-02-10T13:19:11+0000");
答案 2 :(得分:4)
截至2017年的另一个选择是使用Date.parse()
。然而,MDN的documentation指出,在ES5之前它是不可靠的。
var date = new Date(); // today's date and time in ISO format
var myDate = Date.parse(date);
有关详细信息,请参阅fiddle。
答案 3 :(得分:2)
另一种可能的解决方案是将当前日期与January 1, 1970
进行比较,您可以January 1, 1970
获得new Date(0)
;
var date = new Date();
var myDate= date - new Date(0);
答案 4 :(得分:0)
另一个解决方案可能是使用Number对象解析器,如下所示:
let result = Number(new Date("2012-02-10T13:19:11+0000"));
let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime();
console.log(result);
console.log(resultWithGetTime);
这转换为毫秒,就像getTime()
对象上的Date
答案 5 :(得分:0)
是的,您可以在一行中完成此操作
RandomType
答案 6 :(得分:0)
var date = new Date()
console.log(" Date in MS last three digit = "+ date.getMilliseconds())
console.log(" MS = "+ Date.now())
使用此方法,我们可以获取以毫秒为单位的日期
答案 7 :(得分:0)
var date = new Date(date_string); var毫秒= date.getTime();
这对我有用!
答案 8 :(得分:0)
如果要将UTC日期转换为毫秒
语法:Date.UTC(年,月,日,小时,小时,分钟,秒,分钟);
例如:
date_in_mili = Date.UTC(2020, 07, 03, 03, 40, 40, 40);
console.log('miliseconds', date_in_mili);
答案 9 :(得分:0)
如果任何人只想仅从ISO日期开始获取时间,以下内容将很有帮助。我正在寻找那个东西,却找不到一个问题。因此,如果有人看到会有所帮助。
let isoDate = '2020-09-28T15:27:15+05:30';
let result = isoDate.match(/\d\d:\d\d/);
console.log(result[0]);
输出将是isoDate中唯一的时间,
15:27