Excel/WPS 電子表格中時(shí)間戳轉日期時(shí)間公式
發(fā)表時(shí)間:2022-12-08 19:42:18 瀏覽:3585 次
從MySql數據庫中導出一份Excel文件發(fā)給了我,并吩咐我排查問(wèn)題的原因。
面對龐大的數據表格,我快速瀏覽了一遍,確認首先需要處理的是client_time一列,內容是Unix時(shí)間戳格式,很明顯,Excel不支持Unix時(shí)間戳。
來(lái)看什么是Unix時(shí)間戳
Unix時(shí)間戳(Unix timestamp),或稱(chēng)Unix時(shí)間(Unix time)、POSIX時(shí)間(POSIX time),是一種時(shí)間表達方式,定義為從格林威治時(shí)間1970年01月01日00時(shí)00分00秒起至現在的總秒數(或總毫秒數)。Unix時(shí)間戳不僅被使用在Unix系統、類(lèi)Unix系統中,也在許多其他操作系統中被廣泛采用。
這好說(shuō),我上來(lái)就【右鍵-單元格格式-選時(shí)間分類(lèi)-確定】走你~然后,我看到的結果是這樣的:
大意了,看來(lái)此法不通。
這有何難?用站長(cháng)工具轉換一下不就好了!當我轉換到第3條的時(shí)候,我意識到這將是個(gè)浩大的工程...
站長(cháng)工具是不支持批量轉換的,這幾千條數據,如此搞下去,我怕不是有個(gè)大病。
不懂就問(wèn),有一波人說(shuō),可以寫(xiě)個(gè)程序用編程語(yǔ)言轉換,這...肯定可行,但時(shí)間成本有點(diǎn)高。
繼續不懂就問(wèn),很快我找到了一種更快速有效的解決方法。
接下來(lái),讓我做個(gè)小結以備忘:
1
13位時(shí)間戳轉日期時(shí)間(毫秒)
首先
假設A2單元格內容為13位的時(shí)間戳,再選中B2單元格,在公式框中輸入
=TEXT((A2/1000+8*3600)/86400+70*365+19,"yyyy/mm/dd hh:mm:ss.000")
按Enter鍵確認,此時(shí)能看到,B2單元格顯示了轉換后的日期時(shí)間格式2021/07/03 18:43:42.573。
接下來(lái),選中B2單元格,下拉應用公式,整列搞定。
2
10位時(shí)間戳轉日期時(shí)間(秒)
10位時(shí)間戳的轉換方法與13位時(shí)間戳同理。唯一不同的是,此時(shí)的公式為
=TEXT((A2+8*3600)/86400+70*365+19,"yyyy/mm/dd hh:mm:ss")
可能有人會(huì )問(wèn)了:能不能將日期時(shí)間轉換成Unix時(shí)間戳呢?既然我的標題上說(shuō)的是“互換”,答案當然是能的了。
3
日期時(shí)間轉10位時(shí)間戳
話(huà)不多說(shuō),直接上公式
= INT((A2-70*365-19)*86400-8*3600)
其實(shí)就是把公式反過(guò)來(lái),日期時(shí)間轉13位時(shí)間戳, 我就不贅述了。
學(xué)習是一個(gè)舉一反三的過(guò)程,如果只需解一時(shí)燃眉之急,記住以上公式也夠用。但如果想知其然且知其所以然,就得了解公式背后的原理了。
以10位時(shí)間戳(秒)轉日期為例。公式:
=TEXT((A2+8*3600)/86400+70*365+19,"yyyy/mm/dd hh:mm:ss")
A2+8*3600:當前時(shí)區的時(shí)間(秒)(A2+8*3600)/86400:將秒轉換為天(A2+8*3600)/86400+70*365:加上1900年至1970年的70年(A2+8*3600)/86400+70*365+19:加上閏年多出來(lái)的天數19
Excel的日期實(shí)際上是序列值,它以1900-1-1=1為始,每過(guò)一天序列值加1;Unix時(shí)間戳是從1970-1-1 0:00:00開(kāi)始到現在的秒數。
細心的人可能會(huì )發(fā)現,1900年至1970年共17個(gè)閏年,如果考慮到Excel將1900-1-1當作1,那么公式最后應該加18才對,為什么要加19呢?這是Excel的一個(gè)bug--把1900年也當作閏年了。
Tips:另有一點(diǎn)需注意,在Excel的【文件->工具->選項->重新計算】中,有個(gè)"使用1904日期系統"選項,如果勾選此選項,上面的公式應將70改為66,即:
=TEXT((A2+8*3600)/86400+66*365+19,"yyyy/mm/dd hh:mm:ss")
到這里,完整的備注我就寫(xiě)完了。
外面青色的天空,陰沉又安靜。我在等待一場(chǎng)夏日里的傾盆大雨,和一個(gè)新的開(kāi)始。
百度搜索推廣 |公司簡(jiǎn)介 |人才招聘 |付款方式 |聯(lián)系方式 | ||
恩施市百捷在線(xiàn)網(wǎng)絡(luò )科技有限公司 Copyright ? 2012-2021 網(wǎng)址:www.visitindiatravels.com | ||
電話(huà):15587589530 傳真:15587589530 聯(lián)系人:鄒經(jīng)理 | ||
地址:恩施市火車(chē)站萬(wàn)福國際寫(xiě)字樓613 Email:zou@esbaidu.com 備案號:鄂ICP備16001060號-8 | ||
|