複製鏈接
請複製以下鏈接發送給好友

UNIX時間

鎖定
UNIX時間,或稱POSIX時間是UNIX類UNIX系統使用的時間表示方式。
外文名
UNIX時間
或    稱
POSIX時間
簡    介
UNIX類UNIX系統使用的時間表示
內    容
不包括閏秒

UNIX時間簡介

UNIX時間,或稱POSIX時間UNIX類UNIX系統使用的時間表示方式:從協調世界時1970年1月1日0時0分0秒起至現在的總秒數,不考慮閏秒。 在多數Unix系統上Unix時間可以透過date +%s指令來檢查。 [1] 

UNIX時間示例

示例:1533560248(ISO 8601:2018-08-06T12:57:28Z),當這個頁面生成時的Unix時間。

UNIX時間問題

UNIX時間2038年問題

2038年1月19日3時14分07秒,32位系統的UNIX時間將會被重置。
現時大部分使用UNIX的系統都是32位的,即它們會以32位有符號整數表示時間類型time_t。因此它可以表示136年的秒數。表示協調世界時間1901年12月13星期五20時45分52秒至2038年1月19日3時14分07秒(二進制:01111111 11111111 11111111 11111111,0x7FFF:FFFF),在下一秒二進制數字會是10000000 00000000 00000000 00000000(0x8000:0000),這是負數,因此各系統會把時間誤解作1901年12月13日20時45分52秒(亦有可能迴歸到1970年)。這時可能會令軟件發生問題,導致系統癱瘓。
目前的解決方案是把系統由32位轉為64位系統。在64位系統下,此時間最多可以表示到292,277,026,596年12月4日15時30分08秒。

UNIX時間Unix負時間

在2016年2月12日,據披露,如果把蘋果iPhoneiPad等設備的系統時間設置為1970年1月1日,隨後重啓設備,它會直接變磚。目前蘋果公司正式承認了漏洞存在,但是尚未公佈具體的引發原因。部分中國大陸用户猜想這是因為調整當地時間到1970.1.1 0:00後,如果時區為正,那麼GMT時間就早於unix定義的0時間。例如北京時間 1970.1.1 0:00 (UTC+0800) 是UTC 1969.12.31 16:00 對應的unix時間是負的。但是有人迴應嘗試設為正時區重啓後仍然變磚。蘋果對此採用的策略是在隨後的固件更新中將時間禁止調整到2000年以前。

UNIX時間紀念日

UNIX時間以5000日為紀念日,第一個5000日是1983年9月10日,第10000日是1997年5月19日,第15000日是2011年1月26日,第20000日是2024年10月4日,第五百個5000日是8814年10月8日。

UNIX時間相關條目

參考資料
  • 1.    Ming—kui C, LI J. 基於 LabVlEW 的 UNIX 時間戳轉換為可讀日期研究[J].