JavaScript的日期是休息一天?
这个问题在这里已经有了答案:
从这里
给定一个“2014年3月7日”的日期字符串,[Date。] parse()假定一个本地时区,但给定一个ISO格式,例如“2014-03-07”,它将假定UTC时区。
假设您的日期字符串为UTC(英格兰格林威治时区)中指定日期的0:00或午夜。 然而,您的浏览器需要这段时间,并将其转换为您当地的时区,如果您在美洲,这比UTC的时间晚了几个小时,从而使结果落后一天。
以下代码应该适用于在本地时区中使用正确日期创建日期。
utcDate = new Date("2017-07-30"); //Date object a day behind
new Date(utcDate.getTime() + utcDate.getTimezoneOffset() * 60000) //local Date
这里的本地日期是通过根据时区差异添加时间而创建的。 getTimezoneOffset()
在几分钟内返回,因此* 60000
需要转换为毫秒。
这可能不适用UTC以前的区域; 它可能会增加一天的时间。 编辑:刚刚选中并且getTimezoneOffset()
在UTC之前的区域为负,因此它会正确地减去时间。