将日期时间转换为另一种日期时间格式

将日期时间转换为另一种日期时间格式

我如何转换这个日期时间?

[23/Sep/2013:21:18:00 +0200]

23/Sep/2013 21:18:00

答案1

如果单元格中的日期/时间内容是正确的,则只需将日期时间“格式化”为:

dd/mmm/yyyy hh:mm:ss

只需右键单击单元格 - 设置单元格格式 - 在“数字”选项卡下 - 自定义并使用上面的方法。

编辑:
由于传入的格式非常严格,我们需要发挥创造力,最终分为 3 个步骤:

  1. 将该文本转换为可用文本(删除末尾的 []、多余的 : 和 +0200)
  2. 将文本转换为正确的日期/时间值
  3. 正确格式化日期/时间(如上所述)

第一的
您需要一个中间单元格来保存“可用文本”,并使用下面的代码(假设日期/值文本在 A1 中并且文本格式是静态的并且在整个数据中不会改变):

=CONCATENATE(MID(A1,2,11)," ",MID(A1,14,8))

这将返回

23/Sep/2013 21:18:00

但这是一种“文本”格式,尚不可用。 - 假设该值在 A2 中

第二 使用 DATEVALUE 和 TIMEVALUE 将上述文本转换为正确的日期/时间格式,如下所示:

=DATEVALUE(A2)+TIMEVALUE(A2)

现在它具有正确的日期/时间格式 - 但可能不是您想要的确切格式。按照我编辑上方的步骤 3 执行自定义日期/时间格式。

参考(及致谢):Stack Overflow 的 David Zemens -https://stackoverflow.com/questions/16089263/excel-string-to-date

希望这可以帮助。

相关内容