我想知道哪个是Javascript Date对象允许的最小和最大日期.我发现最小日期是200000 bC,但我无法得到任何参考.
有人知道答案吗?我只是希望它不依赖于浏览器.
"epoch time"中的答案(= 1970-01-01 00:00:00 UTC + 00的毫秒数)将是最好的.
当在一年的开始时查看日期对象的valueOf值时,我预计总是会收到零秒.以下代码显示,直到1917年,chrome中的偏移量为54秒或40秒.在IE中我所有年份都收到0秒.
是否有一个原因?它似乎只发生在最后的chrome版本中
for(var i=0; i<2020;i++)
if(!new Date(i,0,1).valueOf().toString().match("00000$"))
console.log({
y:i,
s: new Date(i,0,1).valueOf().toString().match(/(\d{2})\d{3}$/)[1]})
Run Code Online (Sandbox Code Playgroud) 我已将Chrome更新为67版.我收到日期错误
==============
Microsoft Edge 42.17134.1.0
new Date("1900-01-01T00:00:00").getTimezoneOffset()
-180
new Date("2018-05-30T00:00:00").getTimezoneOffset()
-180
Run Code Online (Sandbox Code Playgroud)
Microsoft Internet Explorer 11.48.17134.0
new Date("1900-01-01T00:00:00").getTimezoneOffset()
-180
new Date("2018-05-30T00:00:00").getTimezoneOffset()
-180
Run Code Online (Sandbox Code Playgroud)
Mozilla Firefox 60.0.1
new Date("1900-01-01T00:00:00").getTimezoneOffset()
-180
new Date("2018-05-30T00:00:00").getTimezoneOffset()
-180
Run Code Online (Sandbox Code Playgroud)
Chrome 67.0.3396.62
new Date("1900-01-01T00:00:00").getTimezoneOffset()
-150
new Date("2018-05-30T00:00:00").getTimezoneOffset()
-180
Run Code Online (Sandbox Code Playgroud)
======================
Chrome 67中的-150 ...
另一个例子(Chrome 67):
new Date("1900-01-01T00:00:00");
Mon Jan 01 1900 00:00:00 GMT+0230 (Moscow Standard Time)
Run Code Online (Sandbox Code Playgroud)
======================
使用Chrome 67时,时区开始不正确(+ 0230,原因是:+0300)
请告诉我?
我能做什么 ?
情况非常重要!我必须重写的所有代码......
======================