今天,我們來學習關於unix的知識。我們知道Excel默認不支持Unix格式時間戳,這在導入數據時十分不便。可以用以下公式將時間戳轉換成Unix格式的時間:=(x+8*3600)/86400+70*365+19
其中x為時間戳的單元格,8*3600中的8為中國的時區。然後將公式單元格設置為日期時間Unix格式即可。轉換結果如下圖:
這個公式的原理:Excel的日期實際上是序列值,它以1900-1-1為1,每過一天序列值加1。而Unix時間戳是從1970-1-1 0:00:00 UTC開始到現在經過的秒數。用x表示時間戳,可得到換算公式:
x+8*3600當前時區的時間(秒)
(x+8*3600)/86400轉換單位為天
(x+8*3600)/86400+70*365 加上1900到1970這七十年
(x+8*3600)/86400+70*365+19 閏年多出來的天數
細心的話你會發現,1900年到1970年共是17個閏年,考慮到Excel將1900-1-1當作1,那麼公式最後應該加18才對,為什麼要加19?這是Excel中的一個bug——1900年也被當作閏年,因此應當再多加一天。
另外要注意,在Excel的工具->選項->重新計算中,有個1904年日期系統,如果勾選這個選項,上面的公式應當將70改為66,即
=(x+8*3600)/86400+66*365+19
這樣,我們就可以在Excel中導入Unix格式時間戳了。