console.log(new Date().getTime());
我有一個愚蠢的問題:在現代, JS 的長度new Date().getTime()總是13嗎?JS 和 Java 都給出了這個長度的時間字串。
我的問題是我創建了一個隨機的 JS 字串
function generateUniqueID() {
return new Date().getTime() '' Math.round(Math.random() * Math.pow(10,6));
}
此字串將時間字串與亂數連接起來。我需要比較 2 個 ID,以查看哪個 ID 用于較早的日期。但是這個字串的隨機部分并不總是一個 6 位數字,所以我不能截斷尾隨的 6 位數字并認為是時間字串。要獲取時間字串,我可以考慮前 13 位數字。這似乎是現代的 Unix Epoch Time 字串。
但那可靠嗎?什么時候getTime()開始給出14位數字?
另外,如果我在維基百科上查找 Unix Epoch Time,我會看到一個 10 位數字作為當前的 Unix 時間,而不是 13 位數字:1637093681。
https://en.wikipedia.org/wiki/Unix_time
更新
我看到此時的長度變化:2281-11-20和2281-11-21
console.log(new Date('2286-11-20').getTime().toString().length);
console.log(new Date('2286-11-21').getTime().toString().length);
uj5u.com熱心網友回復:
時間戳是自 1970-01-01 00:00:00 UTC 以來的毫秒數(與 Unix 紀元相同)。減去當前時間戳10000000000000,得到直到溢位到 14 位的毫秒數,即8,362,906,319,000. 然后將其除以一年中的毫秒數,即大約31,557,600,000,以獲得達到該值之前的年數。
這大約是 265 年。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/357855.html
標籤:javascript 日期 Unix时间戳 时代
