Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Javascript';s Date()函数在Safari中为我的生日中断?_Javascript_Safari - Fatal编程技术网

为什么Javascript';s Date()函数在Safari中为我的生日中断?

为什么Javascript';s Date()函数在Safari中为我的生日中断?,javascript,safari,Javascript,Safari,Safari中运行的Javascript与我的生日有关。这有时会破坏表单中的验证(因为表单会用javascript输出检查输入,而日期不再匹配)。我很想知道为什么会这样 我的生日是1985年10月6日。在Javascript中,我使用以下方法创建此文件: new Date(1985, 09, 06) (请注意,月份是零索引的,但天数和年份不是。) //我的生日 控制台日志(“1985,09,06:+新日期(1985,09,06)) //早一天/晚一天 控制台日志(“1985,09,07:+新

Safari中运行的Javascript与我的生日有关。这有时会破坏表单中的验证(因为表单会用javascript输出检查输入,而日期不再匹配)。我很想知道为什么会这样

我的生日是1985年10月6日。在Javascript中,我使用以下方法创建此文件:

new Date(1985, 09, 06)
(请注意,月份是零索引的,但天数和年份不是。)

//我的生日
控制台日志(“1985,09,06:+新日期(1985,09,06))
//早一天/晚一天
控制台日志(“1985,09,07:+新日期(1985,09,07))
console.log(“1985,09,05:+新日期(1985,09,05))
//一个月之前/之后
控制台日志(“1985,10,06:+新日期(1985,10,06))
控制台日志(“1985,08,06:+新日期(1985,08,06))
//一年前/一年后
控制台日志(“1986,09,06:+新日期(1986,09,06))

console.log(“1984,09,06:+新日期(1984,09,06))
这已在macOS High Sierra中解决

哪个版本的Safari?我得到了
[Log]1985,09,06:Sun-Oct-06 1985 00:00:00 GMT-0700(PDT)
版本8.0.7(10600.7.12)。还有,我在澳大利亚会有什么不同吗?嗯,我想线索可能是夏令时的变化。在AEDT中,第一个日期是1985年10月6日00:00:00,因此该日期看起来是正确的(技术上?)。然而,在1985年,AEST的DTS变化发生在10月27日……这肯定与夏令时有关。不同的浏览器必须使用不同的时区信息。尝试运行:
newdate(Date.UTC(1985,09,06,0,0,0))
Chrome提供:
1985年10月06日10:00:00 GMT+1000(AEST)
而safari提供
1985年10月06日11:00 GMT+1100(AEDT)