JavaScript - Date(),new Date()和ISODate之间的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript - Date(),new Date()和ISODate之间的区别相关的知识,希望对你有一定的参考价值。
我已经看过这个问题的各种版本,但没有一个回答我的问题。
我想创建一个ISODate。对于MongoDB。我正在使用Node.js
在Node中,当我这样做时:
console.log(Date());
我明白了:
2016年9月26日星期一15:17:04 GMT-0400(美国东部时间)< - 这是正确的。
当我做:
console.log(new Date());
我明白了:
2016-09-26T19:17:04.731Z < - 这是提前4个小时
我对ISODATE方式的理解是:
var isodate = new Date().toISOString()
console.log(isolate);
这比“现在”提前4小时。
我的系统日期是正确的。我运行这个不同的机器,我得到相同的结果。
有人可以解释为什么我会及时出现差异吗?
区别在于2016-09-26T19:17:04.731Z
与GMT0时区相关,Mon Sep 26 2016 15:17:04 GMT-0400 (EDT)
与您当地时区相关。两者都指向同一时间:)
您可以在Wiki中阅读有关数据格式和时区的更多信息
请注意Z
结束时的2016-09-26T19:17:04.731Z
?它代表Zulu,意思是UTC时区(GMT + 000)。
正如你在原始日期字符串中看到的那样,Mon Sep 26 2016 15:17:04 GMT-0400 (EDT)
有一个GMT-0400
时区,我想这是你居住的当地时间。所以,实际上没有问题,只是同一时间的不同表示:
Date()
创建一个本地日期new Date()
创建UTC日期
对Date()
和new Date()
之间差异的基本定义是:
- Date()忽略传递给它的任何参数,相当于
new Date().toISOstring()
new Date(Optional_arguments)
在JS中创建一个time
类型对象,您可以在其中执行:getTime()
在Date.prototype
上列出的其他MDN Website函数- Date()只是本地时间的字符串表示。
new Date()
给你一个可操纵的物体来摆弄。
以上是关于JavaScript - Date(),new Date()和ISODate之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 的 new date() 和 date() 为啥输出不一样?
/Date(1410019200000+0800)/如何转换为date对象
JavaScript 中 Date() 和New Date()有啥区别?