UNIX时间

當前Unix時間ISO 8601表示法如果時間不符，請尝试[ 清除页面缓存]。

UNIX時間，或稱POSIX時間是UNIX或類UNIX系統使用的時間表示方式：從UTC1970年1月1日0時0分0秒起至現在的總秒數，不考慮閏秒。 在多數Unix系統上Unix時間可以透過date +%s指令來檢查。

 历史 
最早版本的Unix时间是32位整型，以60 Hz增加。1971年11月3日发行的第一版《Unix Programmer's Manual》定义了Unix时间为“the time since 00:00:00, 1 January 1971, measured in sixtieths of a second”，即从1971年1月1日00:00:00开始，以60赫兹增加。这意味着以32位无符号整型存储Unix时间，829天（约2.5年）后就将用尽重置。由于该限制，Unix时间原点被重定义多次，直至开始采用1970年1月1日00:00:00UTC为时间原点，以1赫兹计时。由于Unix和C语言采用32位有符号整型表示时间，这可容纳约136年的时间跨度，在1970年之前和之后各占一半。即到2038年1月19日和1901年12月13日用尽重置。

此后，这个Unix 时间定义考虑到时区，闰秒等问题被修订。

 問題 
 2038年问题 

現時大部分使用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位系統下，此時間最多可以表示到2922億7702萬6596年12月4日15時30分08秒。

 Unix负时间导致部分iPhone手机无法启动 
在2016年2月12日，据披露，如果把苹果iPhone、iPad等设备的系统时间设置为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时间以每5000日为纪念日，首4个5000日分別是1983年9月10日、1997年5月19日、2011年1月26日、2024年10月4日，第500个5000日（即第250萬日）是8814年10月8日。

 相关条目 
 约翰·提托

 参考文献 

 外部連結 
 Unix时间戳在线转换 
 Unix程序员手册，第一版

chrono-Compatible Low-Level Date Algorithms  – algorithms to convert between Gregorian and Julian dates and the number of days since the start of Unix time

Category:日历标准
Category:网络时间相关软件
Category:时间标准
Category:Unix