JavaScript新日期与字符串参数有错误的日期

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

  • 为什么Date.parse会提供不正确的结果? 10个答案

  • Date.toString()在您的本地时区格式化,但由于您已传入ISO-8601字符串,因此该值将被解析为好像它是UTC。

    Date.parse()文档(如Date(String)构造函数被记录为Date.parse ):

    日期时间字符串可以采用简化的ISO 8601格式。 例如,可以传递和解析“2011-10-10”(刚刚日期)或“2011-10-10T14:48:00”(日期和时间)。 如果字符串仅为ISO 8601日期,则UTC时区用于解释参数。 如果字符串是ISO 8601格式的日期和时间,则它将被视为本地。

    所以,你会得到一个结束Date 00:这相当于2017-12-06T00 00Z。 但是Date.toString()会在您当前的时区即时显示出来 - 如果您在America / New_York或类似的时区,那时UTC的时间比UTC晚5小时,这意味着它会打印12月5日晚上7点。

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

    上一篇: javascript new Date with string param has wrong date

    下一篇: Javascript New Date() returns invalid date