從建站 到營(yíng)銷(xiāo) 全程無(wú)憂(yōu)!

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)始。


 

上一篇:windows11如何快速打開(kāi) 任務(wù)管理器

下一篇:電腦睡眠總是無(wú)緣無(wú)故被喚醒沒(mé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
公安備案信息 鄂公網(wǎng)安備 42280102000263號 網(wǎng)絡(luò )經(jīng)濟主體信息
综合五月激情二区视频_亚洲一区二区三区乱码AⅤ_69pao国产成视频_欧美三级XXXXX