JavaScript - Date()、new Date() 和 ISODate 之间的区别
JavaScript - difference between Date(), new Date(), and ISODate
我看过这个问题的各种版本,但其中 none 满足了我的需求。
我想为 MongoDB 创建一个 ISODate,我正在使用 Node.js。
在 Node 中,当我这样做时:
console.log(Date());
我得到:
Mon Sep 26 2016 15:17:04 GMT-0400 (EDT) <-- This is correct.
当我这样做时:
console.log(new Date());
我得到:
2016-09-26T19:17:04.731Z <- This is 4 hours ahead
我对ISODATE方式的理解是:
var isodate = new Date().toISOString()
console.log(isodate);
产生的时间比 "now" 提前 4 小时。
我的系统日期是正确的。
我运行这台不同的机器,我得到的结果是一样的。
谁能解释一下为什么我的时间出现偏差?
不同之处在于 2016-09-26T19:17:04.731Z
与 GMT0 时区相关,而 Mon Sep 26 2016 15:17:04 GMT-0400 (EDT)
与您当地的时区相关。两者都指向同一时间:)
您可以在 Wiki
中阅读有关数据格式和时区的更多信息
注意到 2016-09-26T19:17:04.731Z
末尾的 Z
了吗?
它代表 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()
在 MDN Website
中列出的其他 Date.prototype
函数
Date() 只是本地时间的字符串表示。
new Date()
给你一个可操作的对象 fiddle 左右。
我看过这个问题的各种版本,但其中 none 满足了我的需求。
我想为 MongoDB 创建一个 ISODate,我正在使用 Node.js。
在 Node 中,当我这样做时:
console.log(Date());
我得到:
Mon Sep 26 2016 15:17:04 GMT-0400 (EDT) <-- This is correct.
当我这样做时:
console.log(new Date());
我得到:
2016-09-26T19:17:04.731Z <- This is 4 hours ahead
我对ISODATE方式的理解是:
var isodate = new Date().toISOString()
console.log(isodate);
产生的时间比 "now" 提前 4 小时。
我的系统日期是正确的。 我运行这台不同的机器,我得到的结果是一样的。
谁能解释一下为什么我的时间出现偏差?
不同之处在于 2016-09-26T19:17:04.731Z
与 GMT0 时区相关,而 Mon Sep 26 2016 15:17:04 GMT-0400 (EDT)
与您当地的时区相关。两者都指向同一时间:)
您可以在 Wiki
中阅读有关数据格式和时区的更多信息注意到 2016-09-26T19:17:04.731Z
末尾的 Z
了吗?
它代表 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()
在 MDN Website 中列出的其他 Date() 只是本地时间的字符串表示。
new Date()
给你一个可操作的对象 fiddle 左右。
Date.prototype
函数