我正在尝试将以下格式的字符串转换为20130817T140000Z
(2013年8月17日14:00)至MS {epoch time(自1970年以来的秒数)。
尝试过单元格格式,但它不适用于T
和Z
或一般格式。
答案 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)时,将该字符串与有效日期/时间和结果可以乘以一天中获得大纪元时间的秒数