Excel中時間戳轉換時間

周小董發表於2019-01-30

專案的資料庫中儲存是時間是時間戳形式,老闆讓匯出資料,因為沒有寫匯出功能就直接從資料中匯出了,結果時間全是時間戳,無奈查詢資料整理了關於Excel中時間戳和時間互轉的方法記錄下。

公式原理:

Excel時間實際上是序列值,它從1900-1-1為1開始,沒過一天序列值加1。
Excel時間戳實際上是秒數,它從1970-1-1 00:00:00 UTC開始。

1h = 3600s
24h = 24*3600s = 86400s

XN+8*3600                                          當前時區的時間(秒)
(XN+8*3600)/86400                           轉換單位為天
(XN+8*3600)/86400+70*365            加上1900到1970這七十年
(XN+8*3600)/86400+70*365+19     閏年多出來的天數

1970到1900年共有17個閏年,因為Excel是以1900為1開始,那麼需要給1970+18,但由於excel的時間bug,Excel認為1900年也為閏年,所以需要給1970+19

時間戳 時間
1970-1-1 1900-1-1

一、Excel中時間戳轉換時間

XN 為時間戳單元格
1、=(XN+8*3600)/86400+70*365+19
2、轉換後的單元格設定為“時間”格式
3、注意,在 Excel 的工具 -> 選項 -> 重新計算中,有個 1904 年日期系統,如果勾選這個選項,上面的公式應當將 70 改為 66

二、Excel時間轉換時間戳

XN 為時間戳單元格
公式   =(XN-19-70*365)*86400-8*3600  
注意,在 Excel 的工具 -> 選項 -> 重新計算中,有個 1904 年日期系統,如果勾選這個選項,上面的公式應當將 70 改為 66

來源:https://blog.csdn.net/fl442165035/article/details/49339047

相關文章