我如何在 Excel 中转换如下格式:
01.06.2007 21:48:16
对此:
Sat Jan 06 21:48:16 EDT 2007?
假设这些是美国日期,因此 01.06.2007 实际上是 2007 年 1 月 6 日星期六,并且我所有的源单元格都是 EDT。
答案1
Excel 中实际上没有任何好的日期转换函数,就像 SQL 中一样,因此您必须使用一些 MID() 选择。
单元格 A1:
01.06.2007 21:48:16
将日期转换为 ISO 格式并将其转换为 Excel 日期序列,将时间转换为 Excel 时间序列,然后将它们相加:
单元格 A2:
=DATEVALUE(MID(A1,7,4)&"-"&MID(A1,1,2)&"-"&MID(A1,4,2))+TIMEVALUE(MID(A1,12,8))
现在您需要格式化单元格以获取所需的日期格式:ddd mmm dd hh:mm:ss "EDT" yyyy
如果需要偏移原始日期和时间,则在 A2 中的公式中添加或减去;此示例将在原始日期和时间上添加 2 小时:
=DATEVALUE(MID(A1,7,4)&"-"&MID(A1,1,2)&"-"&MID(A1,4,2))+TIMEVALUE(MID(A1,12,8))+TIMEVALUE("2:00:00")
结果:
Sat Jan 06 23:48:16 EDT 2007