为什么新的日期(年、月、日)不返回相等的日期

  • 本文关键字:日期 返回 node.js date
  • 更新时间 :
  • 英文 :


有一天,我用node命令行工具摆弄了香草NodeJS。(我使用的是node v13.11.0(

我尝试在01.01.1970上创建一个新的Date。我使用了常用的new Date(year, month, day)构造函数。听起来很简单,我输入了new Date(1970, 1, 1),发现它不返回1970-01-01T00:00:00.0000Z。相反,它返回1970-01-31T12:00:00.000Z

有人有想法吗,为什么这个构造函数不返回等效日期?

构造函数或多或少会做你认为的事情:

x = new Date(1970,1,1)
1970-01-31T14:00:00.000Z
> x.getMonth()
1
> x.getDate()
1
> x.getHours()
0

(请注意,月份从零开始计算,所以您要求2月1日(。

但是,如果您将整个日期显示为字符串,它将以UTC显示时间,这可能不是您所期望的。

最新更新