1. 程式人生 > >Unix 時間戳 (Unix Timestamp) 與 Windows 時間轉換工具

Unix 時間戳 (Unix Timestamp) 與 Windows 時間轉換工具

我發現,我在本站釋出的文章,url 最後一段都是 134 開頭的一串數字。一開始並沒在意,只想當然以為是程式隨機生成的。

昨天跟程式作者交談的過程中無意問起,他說這是代表時間的。剛才訪問 GoAgent 專案時發現,其作者 Phus 也是使用這種
134 開頭的數字作為時間戳,於是立刻搜尋了一下,才明白這種時間表示方法叫做 Unix 時間戳,英文寫作 Unix Timestamp,
Unix epoch,Unix time 或 POSIX time。

Unix 時間戳是為了紀念 Unix 系統 1970 年生日,而將格林尼治時間 1970 年 1 月 1 日 0 點 0 分 0 秒 定義為整數 0,此後
每過一秒則該整數加 1,而 1970 年 1 月 1 日以前的時間則定義為負值。因此 Unix 時間與 Windows 時間換算的方法也很


簡單,知道了 Unix 時間定義的 0 值到現在過了多少秒,再折算為分鐘、小時、天、月、年,以 1970 年 1 月 1 日 00:00:00 
為基準累加,就換算出了當前的 Windows 時間了。而 Windows 時間換算 Unix 時間則正好相反。

另外,b3log 中文章 url 所展示的 Unix 時間戳精確到毫秒,所以若想正確換算為 Windows 時間,需要去掉後三位才能正確
換算。如上圖所示,http://www.syshut.com/articles/2012/08/22/1345641185168.html,將紅色部分換算為 Windows 
時間則為北京時間的 2012 年8 月 22 日 21:13:05。


剛剛在谷歌找到一款離線的時間換算工具 Unix Timestamp Converter,介面設計得不錯,而且可以選擇要換算的時區,使用


十分方便。