在javascript中将iso日期转换为毫秒
我可以将iso日期转换为毫秒吗? 例如,我想转换这个iso在javascript中将iso日期转换为毫秒,javascript,iso,isodate,Javascript,Iso,Isodate,我可以将iso日期转换为毫秒吗? 例如,我想转换这个iso 2012-02-10T13:19:11+0000 到毫秒 var myDate = Date.parse("2012-02-10T13:19:11+0000"); 因为我想将当前日期与创建日期进行比较。创建日期是iso日期。试试这个 var日期=新日期(“1987年11月21日16:00:00”);//模拟约会 var毫秒=date.getTime(); //这将返回毫秒数 //从1970年1月1日开始 //如果您的日期小于该日期
2012-02-10T13:19:11+0000
到毫秒
var myDate = Date.parse("2012-02-10T13:19:11+0000");
因为我想将当前日期与创建日期进行比较。创建日期是iso日期。试试这个
var日期=新日期(“1987年11月21日16:00:00”);//模拟约会
var毫秒=date.getTime();
//这将返回毫秒数
//从1970年1月1日开始
//如果您的日期小于该日期,则该值将为负值
console.log(毫秒)代码>前面解决方案的简写是
var myDate = +new Date("2012-02-10T13:19:11+0000");
它执行即时类型转换,并以毫秒格式直接输出日期
另一种方法是使用dateutil的parse方法,它只输出以毫秒为单位的历元时间
var myDate = Date.parse("2012-02-10T13:19:11+0000");
2017年的另一个选项是使用Date.parse()
。然而,MDN指出,它在ES5之前是不可靠的
var date = new Date(); // today's date and time in ISO format
var myDate = Date.parse(date);
有关更多详细信息,请参阅。另一种可能的解决方案是将当前日期与1970年1月1日
进行比较,您可以通过新日期(0)
获得1970年1月1日
另一种解决方案是使用如下数字对象解析器:
let result=Number(新日期(“2012-02-10T13:19:11+0000”);
让resultWithGetTime=(新日期(“2012-02-10T13:19:11+0000”)。getTime();
控制台日志(结果);
console.log(resultWithGetTime)代码>是的,您可以在一行中完成此操作
使用它,我们可以以毫秒为单位获得日期var date=new date(日期字符串);
var毫秒=date.getTime()
这对我有用 如果要将UTC日期转换为毫秒
语法:Date.UTC(年、月、日、小时、分钟、秒、毫秒)
e、 g:
date\u in\u mili=date.UTC(2020,07,03,03,40,40)代码>
console.log('milyseconds',日期单位:'u mili)编码>如果有人想只抓取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
你说的“毫秒”到底是什么意思?相对于哪个时间点的毫秒数?你是说UNIX时间戳吗?就像在yahoo api中一样,日期是以毫秒为单位显示的,但在fb api中,日期是以iso2012-02-10T13:18:45+0000为单位显示的,可能与@mplungjan相关,但不准确。我想知道这两个时间之间的差异。所以首先使用链接将它们转换为日期,然后执行date1.getTime()-date2.getTime()
-这就是您所需要的全部是的,日期不会在所有浏览器上解析。请参见我对您答案的评论;)这在Firefox中不起作用var myDate=new Date(“2012-02-10T13:19:11+0000”)代码>@mplungjan为什么不使用?我知道这很麻烦但不管怎样)呃。。。那是大写字母“T”在里面干什么?这就是它不起作用的原因@mplungjan.你有一个小小的输入错误,“+”@stuart siegler实际上没有输入错误,“+”以毫秒为单位返回日期。@LordTribal“+new”以毫秒为单位返回日期?@stuart siegler没有具体的“+new”,但“+”起作用,可以说是一个速记。例如+new Date()
返回1447857230137
,这是以毫秒为单位的时间。显式构造一个JavaScript数字对象要清楚得多:const dateMillis=Number(新日期('2017-09-26T20:24:18.801Z'))
,但新日期('2017-09-26T20:24:18.801Z')。getTime()
或新日期('2017-09-26T20:24:18.801Z')。valueOf()
更具可读性。与此函数相反的是什么!内置解析器在ECMAScript 2011之后也不可靠。:-)
let isoDate = '2020-09-28T15:27:15+05:30';
let result = isoDate.match(/\d\d:\d\d/);
console.log(result[0]);
15:27