javascript - 为什么给定的日期在使用 new Date() 时会变成前一天?

标签 javascript date

<分区>

给定的日期是 2016-02-04。那应该是 2016 年 2 月 4 日。但是当我使用 new Date() 时,它返回为 Wed Feb 03 2016 16:00:00 GMT-0800 (PST) 而不是 Thu Feb 04...

下面是我真正做的:

var _entryDate = new Date("2016-02-04");
console.log(_entryDate); // Wed Feb 03 2016 16:00:00 GMT-0800 (PST)

为什么会发生这种情况?如何在 2 月 4 日而不是前一天获得我想要的结果?

最佳答案

您使用的格式被解释为 UTC 日期,因此时间被假定为西欧的午夜。那比你早 8 小时。

您可以通过将 T00:00-0800 添加到日期字符串来强制解释时区。您自己解析日期并使用数字年、月和日期参数构造 Date 实例可能更可靠。

关于javascript - 为什么给定的日期在使用 new Date() 时会变成前一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35205627/

相关文章:

javascript - 在粘贴到任何文本编辑器和 Chrome/IE 时,如何防止过多的换行符?

javascript - 基本 Javascript- HTML 按钮

python - 一次将多列上的 Pandas 日期时间从 Unix 纪元时间转换为东部时间

java - 带日期的 ParseException?

date - 在 Groovy 中从 Unix 时间戳转换为日期

javascript - 如何在网页中显示数组的完整对象?

javascript - Nightmare 无法解决阿迪达斯网站

javascript - React Native for 循环获取索引

MySQL DATE_FORMAT 没有以正确的顺序输出日期

R 列的日期格式基于其他列的条件