excel - 在 Excel 中解析 ISO8601 日期/时间(包括时区)

标签 excel datetime vba timezone iso8601

我需要将 Excel/VBA 中包含的时区(来自外部源)的 ISO8601 日期/时间格式解析为正常的 Excel 日期。据我所知,Excel XP(我们正在使用的)没有该内置例程,因此我想我正在寻找用于解析的自定义 VBA 函数。

ISO8601 日期时间看起来像以下之一:

2011-01-01
2011-01-01T12:00:00Z
2011-01-01T12:00:00+05:00
2011-01-01T12:00:00-05:00
2011-01-01T12:00:00.05381+05:00

最佳答案

有一种(相当)简单的方法可以使用公式而不是宏来解析不带时区的 ISO 时间戳。这并不完全是原始发帖者所问的问题,但我在尝试解析 Excel 中的 ISO 时间戳时发现了这个问题,并发现 this solution很有用,所以我想在这里分享一下。

以下公式将解析 ISO 时间戳,同样不包含时区:

=DATEVALUE(MID(A1,1,10))+TIMEVALUE(MID(A1,12,8))

这将生成浮点格式的日期,然后您可以使用普通 Excel 格式将其格式化为日期。

关于excel - 在 Excel 中解析 ISO8601 日期/时间(包括时区),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4896116/

相关文章:

Excel VBA - 索引和匹配 VBA 错误

PHP Excel Reader 读取 xlsx 文件

excel - 为什么宏给出编译错误而脚本中没有任何逻辑或语法错误?

vba - 选择符合我的查找条件的所有单元格

mysql - MySQL 查询中的三个小时时间间隔

string - 使用 VBA,拆分字符串并将第一项仅设置为变量?

excel - 重命名目录中的文件不仅是文件夹

java - 如何读取 JXL Excel 工作表的行和列

Python:处理带有 AM/PM 信息的日期/时间

java - 为什么为了比较回历与 iso 日期,您需要将 DateTime 包装在 LocalDateTime 中? (乔达)