這個問題說來話長。 程式語言受電腦系統影響,而現代電腦系統都受到Unix系統的廣泛影響,而1970年1月1日這個時間正是Unix系統的起始時間(epoch·time)。
當年的電腦需要一個可靠的外部時鐘同步源,因此早期的Unix系統用一個32位字長表示時間,以1/60秒,即1Hz為時間間隔和外部時間源同步(這道不完全是由於老美的電網頻率是60Hz的緣故,當時的系統主機板的晶振就是1Hz)。 結果這個時間所表示的跨度只有大約829天(約2.5年),顯然不夠用,因此需要一個原始的起始(〔紀〕··〔元〕)時間,由於Unix系統源自上時間69年代,第一個正式版本於1970年首次執行在PDP-11上,1971年11月UNIX Programmer"s Manual(Unix程式設計師手冊)首次公佈,這個手冊裡面提及了起始時間,將它定義為【1971】年1月1日。-- 手冊也承認,該起始時間大約每2.5年就要重新修正一次。
之後系統時間同步間隔被修訂為1秒,這樣32位就可表述約136年的跨度,也正是這個期間(具體年份不祥),起始時間被修訂為1970.1.1 (Unix開發者認為把之前的1971.1.1取整進位到最臨近的年代起始(以每10年一個斷代算),要比1971這個有點不倫不類的時間好),因此從這以後,Unix一直沿用了1970.1.1這個起始時間,而相關的程式也相應的沿用了這個時間,而深受Unix影響的後續作業系統們,如:OS/2, Windows, Mactonish, Linux。。。。都沿用了這個{事實標準}。
這個問題說來話長。 程式語言受電腦系統影響,而現代電腦系統都受到Unix系統的廣泛影響,而1970年1月1日這個時間正是Unix系統的起始時間(epoch·time)。
當年的電腦需要一個可靠的外部時鐘同步源,因此早期的Unix系統用一個32位字長表示時間,以1/60秒,即1Hz為時間間隔和外部時間源同步(這道不完全是由於老美的電網頻率是60Hz的緣故,當時的系統主機板的晶振就是1Hz)。 結果這個時間所表示的跨度只有大約829天(約2.5年),顯然不夠用,因此需要一個原始的起始(〔紀〕··〔元〕)時間,由於Unix系統源自上時間69年代,第一個正式版本於1970年首次執行在PDP-11上,1971年11月UNIX Programmer"s Manual(Unix程式設計師手冊)首次公佈,這個手冊裡面提及了起始時間,將它定義為【1971】年1月1日。-- 手冊也承認,該起始時間大約每2.5年就要重新修正一次。
之後系統時間同步間隔被修訂為1秒,這樣32位就可表述約136年的跨度,也正是這個期間(具體年份不祥),起始時間被修訂為1970.1.1 (Unix開發者認為把之前的1971.1.1取整進位到最臨近的年代起始(以每10年一個斷代算),要比1971這個有點不倫不類的時間好),因此從這以後,Unix一直沿用了1970.1.1這個起始時間,而相關的程式也相應的沿用了這個時間,而深受Unix影響的後續作業系統們,如:OS/2, Windows, Mactonish, Linux。。。。都沿用了這個{事實標準}。