在Excel中将字符串转换为纪元时间

时间:2014-02-04 15:50:34

标签: excel datetime epoch

我正在尝试将以下格式的字符串转换为20130817T140000Z(2013年8月17日14:00)至MS {epoch time(自1970年以来的秒数)。

尝试过单元格格式,但它不适用于TZ或一般格式。

5 个答案:

答案 0 :(得分:7)

这会将您的日期转换为Excel会理解的日期,如果您在单元格A1中有您的日期,那么将其转换为大纪元时间

=(DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2)) + TIME(MID(A1,10,2),MID(A1,12,2),MID(A1,14,2))-25569)*86400)

答案 1 :(得分:1)

假设要转换的字符串在单元格B1中,您可以在单元格上使用以下自定义格式来获取日期/时间。

=DATE(MID(B1,1,4),MID(B1,5,2),MID(B1,7,2))+TIME(MID(B1,10,2),MID(B1,12,2),MID(B1,14,2))

自定义格式为:

dd/mm/yyyy hh:mm:ss

答案 2 :(得分:1)

试试这个:

A1=20130817T140000Z
A2=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))
A3=(DATEDIF("01/01/1970 00:00:00",A2,"D")+TIME(MID(A1,10,2),MID(A1,12,2),MID(A1,14,2)))*24*60*60

A1是您输入日期的文字,A2是格式化日期,A3是您的日期和纪元开始日期之间的秒差。

有用的link

更新:基于@ user2140261建议。

答案 3 :(得分:0)

这将为您提供精确到分钟的日期。如有必要,您可以按照模式获取秒数。

=DATE(VALUE(LEFT(A1,4)),VALUE(RIGHT(LEFT(A1,6),2)),VALUE(RIGHT(LEFT(A1,8),2)))+VALUE(RIGHT(LEFT(A1,11),2))/24+VALUE(RIGHT(LEFT(A1,13),2))/(24*60)

答案 4 :(得分:0)

您可以使用此版本将字符串转换为大纪元时间

=(TEXT(LEFT(A1,8)&MID(A1,10,6),"0000-00-00 00\:00\:00")-25569)*86400

这使用TEXT函数将您的字符串转换为看起来像有效日期/时间的字符串 - 当您减去25569(1/1/1970)时,将该字符串与有效日期/时间和结果可以乘以一天中获得大纪元时间的秒数