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

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

我有一列文本格式,如20110408_2041。我如何将其格式化为日期/时间格式?

答案1

假设您的字符串以 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 似乎具有相同的功能。

答案2

假设整个格式为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))

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

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

单元格格式对话框

以下是最终结果的屏幕截图:

例子

答案3

我遇到了同样的问题,我只做了一件简单的事情: =R1*1在 S1 中,将格式选择为时间,然后就成功了。不需要复杂的代码或其他任何东西。

答案4

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

抱歉,我不知道您是否可以直接从 Excel 中执行此操作。

相关内容