问题描述
我想代表给定月份的第一天,例如2020年9月1日。当我在控制台中执行此操作时,得到以下输出:
$ node
> new Date(2020,8,1)
2020-08-31T23:00:00.000Z
它如何返回2020-08-31而不是2020-08-01?我在做什么错了?
解决方法
输出
2020-08-31T23:00:00.000Z
是ISO格式,Z
显示日期为UTC。当您调用Date
构造函数时,默认情况下它将使用您的浏览器时区,我可以假设它是+01:00
。此外,构造函数中的月度索引从零开始。
如果您想要的是UTC的月初,则可以执行以下操作:
d = new Date(Date.UTC(2020,8,01))
d.toISOString()
"2020-09-01T00:00:00.000Z"
,
尝试
new Date(2020,7,1)
因为日期对象是从0-11否1-12计数