我想知道哪一個是允許使用Javascript Date
對象的最小日期和最大日期。我發現最低日期大約是200000 b.C.,但我無法獲得任何參考。最小和最大日期
有誰知道答案?我只是希望它不依賴於瀏覽器。
在 「信號出現時間」(從1970-01-01 00:00:00 UTC + 00 =毫秒)的回答將是最好的。
我想知道哪一個是允許使用Javascript Date
對象的最小日期和最大日期。我發現最低日期大約是200000 b.C.,但我無法獲得任何參考。最小和最大日期
有誰知道答案?我只是希望它不依賴於瀏覽器。
在 「信號出現時間」(從1970-01-01 00:00:00 UTC + 00 =毫秒)的回答將是最好的。
一個Date對象包含表示特定時刻到毫秒內數。這樣的數字被稱爲時間值。時間值也可以是NaN,表示Date對象不代表特定的時間。自1970年1月1日UTC
時間是在ECMAScript中測量單位爲毫秒。在時間值閏秒被忽略。假定每天正好有86,400,000毫秒。 ECMAScript數值可以表示從-9,007,199,254,740,992到9,007,199,254,740,992的所有整數;這個範圍足以測量從UTC 1970年1月1日起向前或向後大約285,616年內任何瞬間的毫秒精度的時間。
通過的ECMAScript Date對象支持倍實際範圍略小:在1970年1月1日UTC的開始相對於午夜測量準確-100,000,000天100,000,000天。 1970年1月1日UTC的任何一邊的時間範圍爲8,640,000,000,000,000毫秒。
午夜在01月01日開始時的確切時刻,1970年UTC由值+ 0來表示。
第三段是最相關的。基於該段,我們可以從new Date(-8640000000000000)
(即4月20日星期二,271,821 BCE(BCE =在Common Era之前,例如-271,821年))獲得每個規格的最早確切日期。
我猜這對大多數情況下是足夠的... :) – 2012-07-17 16:15:23
現在我希望有人不會認爲這個世界將會在275760年9月13日結束...... – MaxArt 2012-07-17 16:16:16
@MaxArt這將是我的275745歲生日,所以我當然希望不要! – 2012-07-17 16:24:34
爲了增強T.J.的回答,超出了最小值/最大值產生無效的日期。
let maxDate = new Date(8640000000000000);
let minDate = new Date(-8640000000000000);
console.log(new Date(maxDate.getTime()).toString());
console.log(new Date(maxDate.getTime() - 1).toString());
console.log(new Date(maxDate.getTime() + 1).toString()); // Invalid Date
console.log(new Date(minDate.getTime()).toString());
console.log(new Date(minDate.getTime() + 1).toString());
console.log(new Date(minDate.getTime() - 1).toString()); // Invalid Date
對於複製/粘貼答案: http://stackoverflow.com/questions/27093130/how-to-get-the-minimum-and-maximum-date – Kieveli 2016-11-08 20:21:27