- 什麼是 Unix epoch?
- Unix epoch 是 1970 年 1 月 1 日 UTC 午夜——所有 Unix 時間戳記的起始點。每個時間戳記值是從那時起經過的秒數(或更小的單位),這使得時間戳記與時區無關,且易於在不同系統之間比較。
- 如何在程式碼中取得當前的 Unix 時間戳記?
- JavaScript:Date.now() 取得毫秒,或 Math.floor(Date.now() / 1000) 取得秒。Python:int(time.time()) 取得秒,int(time.time() * 1000) 取得毫秒。Bash:date +%s。每種方式回傳相同時刻的不同精度單位。
- 為什麼我的時間戳記顯示 1970 年的日期?
- 原始值可能是零或非常接近零。這通常發生在變數未被賦值、null 欄位被解析為 0,或整數溢出回到零的情況。先檢查來源資料——輸出中的 1970 日期是症狀,而非問題本身。
- Unix 時間戳記可以表示 1970 年之前的日期嗎?
- 可以,使用負值。-86400 等於 1969 年 12 月 31 日 00:00:00 UTC。大多數現代 64 位元系統都能正確處理負時間戳記。某些較舊的嵌入式系統可能不支援 epoch 之前的日期,但限制在於系統本身,而非時間戳記格式。
- 什麼是 2038 年問題?
- Unix 時間戳記 2147483647——32 位元有號整數的最大值——對應 2038 年 1 月 19 日 03:14:07 UTC。將時間戳記儲存為 32 位元有號整數的系統,在那之後會溢出為很大的負數。64 位元系統不受影響。