2009-07-07 42 views
381

爲什麼爲什麼1/1/1970是「紀元時間」?

1970年1 00:00:00

一月認爲劃時代時間

+18

不知道爲什麼有人認爲這是主觀的。 '大紀元'時間是一個標準的時間戳方案。 – ConcernedOfTunbridgeWells 2009-07-07 08:40:57

+0

n.b.這個問題是由@phoenix發佈的,我剛剛糾正了語法。 – 2009-07-07 09:24:21

+4

今天是380,000小時前 – mplungjan 2013-05-08 12:06:03

回答

358

早期版本。這意味着32位無符號整數只能表示少於829天的時間跨度。出於這個原因,由0(稱爲時期)代表的時間必須在最近的過去確定。因爲這是在二十世紀七十年代初,這個時代被設定爲1971-1-1。

後來,系統時間更改爲每秒增加一次,這將可以用32位無符號整數表示的時間跨度增加到136年左右。因爲擠出櫃檯的每一秒都不再那麼重要,所以這個時代向下取整到最接近的十年,因此成爲1970-1-1。人們必須假設這被認爲比1971-1-1有點整潔。

注意,32位使用1970-1-1作爲其劃時代可以代表日期最多2038-1-19,從該日起,將環繞到1901年12月13日簽署整數。

-7

簡答:爲什麼不?

較長的答案是:時間本身並不重要,只要大家誰使用它同意其價值。由於1/1/70已經被使用了很長時間,使用它將盡可能地讓代碼儘可能容易理解。

有在選擇任意的時期正好是不同的無大功。

43

History

的Unix時間最早的版本有 一個32位整數遞增以 速率60Hz的,這是的 速率上的 早期Unix系統硬件的系統時鐘。作爲結果,值60 Hz仍然出現在某些軟件 接口中。新紀元也 與當前值不同。 的 第一版的Unix程序員手冊 日1971年11月3日的 Unix時間定義爲「時間,因爲00:00:00, 1971年1月1日,在 第二六十分測量」。

7

http://en.wikipedia.org/wiki/Unix_time#History解釋了一點關於Unix時間的起源和選擇的時代。 unix時間和時代日期的定義經歷了幾次變化,然後才穩定下來。

但它並沒有說究竟爲什麼1/1/1970到底選擇。

從維基百科頁面值得注意的摘錄:

第一版的Unix程序員手冊日期爲1971年11月3日的Unix時間定義爲「00:00:00以來的時間,1月1日1971年,在六十分之一秒測量「。

由於有限的範圍,在速率改變爲1Hz並且時期被設置爲其現值之前,時期重新定義了多次

以後幾個問題,包括在本定義的複雜性,從已經通過使用逐漸定義Unix時間,而不是完全定義的開始與導致。在1/60秒的時間間隔的測量的UNIX系統時間