Excel默認不支持Unix格式時間戳,這在導入數據時十分不便。可以用以下公式將時間戳轉換成Excel格式的時間:=(A1+8*3600)/86400+70*365+19
其中A1爲時間戳的單元格,8*3600中的8爲中國的時區。然後將公式單元格設置爲日期時間格式即可。轉換結果如下圖:
這個公式的原理: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