JavaScript的日期是休息一天?

这个问题在这里已经有了答案:

  • 为什么Date.parse会提供不正确的结果? 10个答案
  • 更改日期字符串2格式的答案

  • 从这里

    给定一个“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之前的区域为负,因此它会正确地减去时间。

    链接地址: http://www.djcxy.com/p/18623.html

    上一篇: Javascript dates are a day off?

    下一篇: Convert Javascript string to date