我如何转换这个日期时间?
[23/Sep/2013:21:18:00 +0200]
到
23/Sep/2013 21:18:00
答案1
如果单元格中的日期/时间内容是正确的,则只需将日期时间“格式化”为:
dd/mmm/yyyy hh:mm:ss
只需右键单击单元格 - 设置单元格格式 - 在“数字”选项卡下 - 自定义并使用上面的方法。
编辑:
由于传入的格式非常严格,我们需要发挥创造力,最终分为 3 个步骤:
- 将该文本转换为可用文本(删除末尾的 []、多余的 : 和 +0200)
- 将文本转换为正确的日期/时间值
- 正确格式化日期/时间(如上所述)
第一的
您需要一个中间单元格来保存“可用文本”,并使用下面的代码(假设日期/值文本在 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
希望这可以帮助。