fbpx
维基百科

UNIX时间

當前Unix時間
1680006682
ISO 8601表示法
2023-03-28T12:31:22+00:00
如果時間不符,請點擊右下方的更新按鈕。

UNIX時間,或稱POSIX時間UNIX類UNIX系統使用的時間表示方式:從UTC1970年1月1日0時0分0秒起至現在的總秒數,不考慮閏秒[1]。 在多數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赫兹增加。[2]这意味着以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年问题

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

Unix负时间导致部分iPhone手机无法启动

在2016年2月12日,据披露,如果把苹果iPhoneiPad等设备的系统时间设置为1970年1月1日,随后重启设备,它会无法正常启动。目前苹果公司正式承认了漏洞存在,但是尚未公布具体的引发原因。[3]部分中国大陆用户猜想这是因为调整当地时间到1970.1.1 0:00后,如果时区为正,那么GMT时间就早于UNIX定义的0时间。例如北京时间 1970.1.1 0:00 (UTC+0800) 是UTC 1969.12.31 16:00 对应的UNIX时间是负的。但是有人回應嘗試設為正時區重啟後仍然无法正常启动。[4]苹果对此采用的策略是在随后的固件更新中将时间禁止调整到2000年以前。

纪念日

UNIX时间以每5000日为纪念日,首4个5000日分別是1983年9月10日、1997年5月19日、2011年1月26日、2024年10月4日,第500个5000日(即第250萬日)是8814年10月8日[5]

相关条目

参考文献

  1. ^ The Unix leap second mess. [2016-02-14]. (原始内容于2021-05-04). 
  2. ^ (PDF) 1st. 1971-11-03 [2012-03-28]. (原始内容 (PDF)存档于2022-03-05). time returns the time since 00:00:00, 1 Jan. 1971, measured in sixtieths of a second. 
  3. ^ 苹果确认iPhone/iPad时间设置不对会变砖问题. [2016-02-16]. (原始内容于2019-05-02). 
  4. ^ 为什么把部分苹果设备的系统时间调整为1970.1.1,重启后就会变砖?. [2016-02-16]. (原始内容于2021-10-08). 
  5. ^ . [2011-01-27]. (原始内容存档于2011-01-29). 

外部連結

  • Unix时间戳在线转换 (页面存档备份,存于互联网档案馆
  • Unix程序员手册,第一版(页面存档备份,存于互联网档案馆
  • Clewett, James. 2,147,483,647 – The End of Time [Unix]. [2020-05-30]. (原始内容于2021-05-04). 
  • 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

unix时间, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 當前unix時間1680006682iso, 8601表示法2023, 28t12, . 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 當前Unix時間1680006682ISO 8601表示法2023 03 28T12 31 22 00 00如果時間不符 請點擊右下方的更新按鈕 UNIX時間 或稱POSIX時間是UNIX或類UNIX系統使用的時間表示方式 從UTC1970年1月1日0時0分0秒起至現在的總秒數 不考慮閏秒 1 在多數Unix系統上Unix時間可以透過date s指令來檢查 目录 1 历史 2 問題 2 1 2038年问题 2 2 Unix负时间导致部分iPhone手机无法启动 3 纪念日 4 相关条目 5 参考文献 6 外部連結历史 编辑最早版本的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赫兹增加 2 这意味着以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年问题 编辑 主条目 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位系統下 此時間最多可以表示到2922億7702萬6596年12月4日15時30分08秒 Unix负时间导致部分iPhone手机无法启动 编辑 在2016年2月12日 据披露 如果把苹果iPhone iPad等设备的系统时间设置为1970年1月1日 随后重启设备 它会无法正常启动 目前苹果公司正式承认了漏洞存在 但是尚未公布具体的引发原因 3 部分中国大陆用户猜想这是因为调整当地时间到1970 1 1 0 00后 如果时区为正 那么GMT时间就早于UNIX定义的0时间 例如北京时间 1970 1 1 0 00 UTC 0800 是UTC 1969 12 31 16 00 对应的UNIX时间是负的 但是有人回應嘗試設為正時區重啟後仍然无法正常启动 4 苹果对此采用的策略是在随后的固件更新中将时间禁止调整到2000年以前 纪念日 编辑UNIX时间以每5000日为纪念日 首4个5000日分別是1983年9月10日 1997年5月19日 2011年1月26日 2024年10月4日 第500个5000日 即第250萬日 是8814年10月8日 5 相关条目 编辑约翰 提托参考文献 编辑 The Unix leap second mess 2016 02 14 原始内容存档于2021 05 04 Unix Programmer s Manual PDF 1st 1971 11 03 2012 03 28 原始内容 PDF 存档于2022 03 05 time returns the time since 00 00 00 1 Jan 1971 measured in sixtieths of a second 苹果确认iPhone iPad时间设置不对会变砖问题 2016 02 16 原始内容存档于2019 05 02 为什么把部分苹果设备的系统时间调整为1970 1 1 重启后就会变砖 2016 02 16 原始内容存档于2021 10 08 About Unix epoch time 2011 01 27 原始内容存档于2011 01 29 外部連結 编辑Unix时间戳在线转换 页面存档备份 存于互联网档案馆 Unix程序员手册 第一版 页面存档备份 存于互联网档案馆 Clewett James 2 147 483 647 The End of Time Unix 2020 05 30 原始内容存档于2021 05 04 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 取自 https zh wikipedia org w index php title UNIX时间 amp oldid 75936433, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。