将文本字符串转换为日期/时间格式


Answers:


19

假设您的字符串的年,月,日,时,分编码为YYYMMDD_HHMM,则可以构造一个Excel公式以生成日期/时间格式的单元格。

如果字符串在单元格A1中,则应使用以下公式:

=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,10,2),RIGHT(A1,2),0)

您将需要正确设置单元格的格式以查看时间部分。这已在LibreOffice calc中进行了测试,但是Excel似乎具有相同的功能。


两种解决方案都工作正常.. !!! 谢谢
roman_bull

10

假设整个格式为YYYYMMDD_HHMM并且第一个这样的值在单元格A1中,则可以在B1中使用以下公式:

=DATEVALUE(MID(A1,7,2) & "/" & MID(A1,5,2) & "/" & MID(A1,1,4)) + TIMEVALUE(MID(A1,10,2) & ":" & MID(A1,12,2))

这将使用MID函数收集每个零件,并使用DATEVALUE函数返回序列号,基于DD / MM / YYYY创建日期序列号。然后将其添加到时间序列号,该序列号使用MID功能以类似的方式收集小时和分钟。

然后,您可以将单元格格式化为日期格式,时间格式或说dd / mm / yyyy hh:mm的自定义格式,以查看最终结果。只需右键单击该单元格,选择“设置单元格格式”,然后进行类似于以下屏幕截图的配置:

格式化单元格对话框

这是最终结果的屏幕截图:

例


谢谢您,这个工作无懈可击,再次感谢您分享!!
roman_bull

1

我遇到了同样的问题,我只做了一件简单的事情: =R1*1在S1中,将格式选择为“时间”,并且它起作用了。不需要复杂的代码或其他任何东西。


简单就是好-这对我也有用。谢谢!
akaAlso's

-4

您可以通过编写一个小的脚本(例如,使用C#)从列中读取字符串,将其转换为日期时间格式,然后将其保存回Excel列中来实现。

抱歉,我不知道您是否可以直接从Excel中做到这一点。


1
谷歌链接被皱眉了。您的结果将与其他结果不同。
Sathyajith Bhat
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.