Javascript New Date()返回无效的日期
我有一个带有日期字符串的数组,格式为:“2017年7月24日”。Javascript New Date()返回无效的日期,javascript,date,Javascript,Date,我有一个带有日期字符串的数组,格式为:“2017年7月24日”。 当我使用新日期(“2017年7月24日”) 它返回带有一天偏移量的日期。 2017-07-23T22:00:00.000Z 尝试了不同的格式,但无法获取正确的日期。假设浏览器在2017年7月24日开始时位于UTC偏移量为+2的时区,则其行为符合文件规定 记录的行为类似于,然后包括此文档以及多个警告不要使用接受字符串的构造函数,或parse方法: 给定日期字符串“2014年3月7日”,parse()假定为本地时区,但给定ISO格式(
当我使用新日期(“2017年7月24日”)代码> 它返回带有一天偏移量的日期。
2017-07-23T22:00:00.000Z
尝试了不同的格式,但无法获取正确的日期。假设浏览器在2017年7月24日开始时位于UTC偏移量为+2的时区,则其行为符合文件规定 记录的行为类似于,然后包括此文档以及多个警告不要使用接受字符串的构造函数,或
parse
方法:
给定日期字符串“2014年3月7日”,parse()假定为本地时区,但给定ISO格式(如“2014-03-07”),它将假定为UTC时区(ES5和ECMAScript 2015)。因此,根据支持的ECMAScript版本,使用这些字符串生成的日期对象可能表示不同的时间点,除非系统设置了UTC的本地时区。这意味着两个看起来等效的日期字符串可能会产生两个不同的值,具体取决于正在转换的字符串的格式
因此,它为您提供了2017年7月24日当地时区的午夜
在我看来,您最好使用或类似的工具来更清楚地控制解析/格式化
new Date(Date.UTC(year, month, day, hour, minute, second))
尝试此格式(UTC将是您日期的时区)在运行新日期(“2017年7月24日”)之前,您能否获取字符串的类型(“2017年7月24日”)。我的工作正常,但我认为您可能有代码点问题,或者您对日期做了什么。prototype对象?它是字符串类型,您是否碰巧使用
toISOString
显示?。。如果要以本地时间显示,请使用本地显示选项。如toString
,toLocaleString
等。如果使用UTC格式显示,将获得UTC时间。有道理吗?