時間戳(Unix timestamp)在線轉換工具

現在時間:
時間戳(ms):

時間戳转日期時間

日期時間转時間戳

💡本時間戳轉換工具,不同地區時間利用UTC偏移實現,沒有DST夏令時變更💡

💡時間戳轉時間中,時間是指的選中的地區的時間,包含了UTC偏移💡

Unix時間戳 

UNIX時間戳: Unix時間戳(英文為Unix epoch, Unix time, POSIX time 或 Unix timestamp) 是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。 UNIX時間戳的0按照ISO 8601規範為 :1970-01-01T00:00:00Z. 一個小時表示為UNIX時間戳格式為:3600秒;一天表示為UNIX時間戳為86400秒,閏秒不計算。 在大多數的UNIX系統中UNIX時間戳存儲為32位,這樣會引發2038年問題或Y2038。

時間戳的小故事 

1969年8月,貝爾實驗室的程序員肯湯普遜利用妻兒離開一個月的機會,開始著手創造一個全新的革命性的操作系統,他使用B編譯語言在老舊的PDP-7機器上開發出了Unix的一個版本。隨後,湯普遜和同事丹尼斯裏奇改進了B語言,開發出了C語言,重寫了UNIX,新版於1971年發布。

那時的計算機操作系統是32位,時間用32位有符號數表示,則可表示 68 年,用32位無符號數表示,可表示136年。他們認為 以 1970年 為時間 原點 足夠可以了。 因此,C 的 time 函數 就這麽 定了,後來的 java 等也用它,微機也用它,工作站本來就是unix系統當然也用它。(今後若用64位機年限更沒問題。)

32位能表示的最大值是2147483647,另外1年365天的總秒數是31536000,2147483647/31536000 = 68.1 也就是說32位能表示的最長時間是68年,而實際上到2038年01月19日03時14分07秒,便會到達最大時間,過了這個時間點,所有32位操作系統時間便會變為10000000000000000000000000000000 也就是1901年12月13日20時45分52秒,這樣便會出現時間回歸的現象,很多軟件便會運行異常了。

到這裏,我想問題的答案己經出來了:

因為用32位來表示時間的最大間隔是68年,而最早出現的UN以操作系統考慮到計算機產生的年代和應用的時限綜合取了1970年1月1日作為UNTIME的紀元時間(開始時間)至於時間回歸的現象相信隨著64為操作系統的產生逐漸得到解決,因為用64位操作系統可以表示到292,277,026,596年12月4日15時30分08秒,相信我們的N代子孫,哪怕地球毀滅那天都不用愁不夠用了,因為這個時間己經是千億年以後了。

時間戳的常見問題 

Linux上如何獲得時間戳 

答:在Linux系統中,terminal上執行命令 date +%s,可以獲得秒級時間戳。

13位時間戳如何在線轉換 

答:13位時間戳是毫秒級時間戳,因此可以在上面的工具中轉換時選毫秒即可轉換對應的日期時間或者將日期時間轉換爲13位時間戳。

同一時刻全世界的timestamp值是一樣的嗎 

答:通常把它叫做時間戳,是指格林尼治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數,用有符號32位整數表示。也就是說時間戳的值全世界唯一,只是我們在使用時會將不同的時區,會轉成不同的時間。