Excel將Unix時間戳轉換爲日期

Excel默認不支持Unix格式時間戳,這在導入數據時十分不便。可以用以下公式將時間戳轉換成Excel格式的時間:=(A1+8*3600)/86400+70*365+19

其中A1爲時間戳的單元格,8*3600中的8爲中國的時區。然後將公式單元格設置爲日期時間格式即可。轉換結果如下圖:

002uJVLIgy6EXmrKsL719&690

002uJVLIgy6EXrJmlxAf6

這個公式的原理:Excel的日期實際上是序列值,它以1900-1-1爲1,每過一天序列值加1。而Unix時間戳是從1970-1-1 0:00:00 UTC開始到現在經過的秒數。

用A1表示時間戳,可得到換算公式:

A1+8*3600           當前時區的時間(秒)

(A1+8*3600)/86400       轉換單位爲天

(A1+8*3600)/86400+70*365   加上1900到1970這七十年

(A1+8*3600)/86400+70*365+19  閏年多出來的天數

1900年到1970年共是17個閏年,考慮到Excel將1900-1-1當作1,那麼公式最後應該加18纔對,爲什麼要加19?這是Excel中的一個bug——1900年也被當作閏年,因此應當再多加一天。

另外要注意,在Excel的工具->選項->重新計算中,有個1904年日期系統,如果勾選這個選項,上面的公式應當將70改爲66,即=(A1+8*3600)/86400+66*365+19

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章