如何解决JS Date对象的奇怪行为
我想代表给定月份的第一天,例如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计数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。