如何在 Python 中解析 ISO8601 日期时间

解析类似 2019-05-29T19:50:55.463+02:00 的 ISO8601 时间戳的最简单方法是使用例如以下命令安装 maya

install_maya.sh
pip install -U maya

如果你仍然使用 Python2,使用 pip2 代替 pip

安装 maya 后,像这样使用它:

parse_iso8601_example.py
import maya
result = maya.parse('2019-05-29T19:50:55.463+02:00').datetime()
# 结果是标准 datetime 对象!
print(result)

这将打印

parse_iso8601_output.txt
2019-05-29 17:50:55.463000+00:00

注意来自时区 +02:00 的原始时间戳如何自动转换为 UTC datetime 对象。

maya 可以解析许多不同格式,例如

parse_iso8601_examples.py
print(maya.parse('2019-05-29T19:50:55+02:00').datetime()) # 无小数秒
print(maya.parse('2019-05-29T19:50:55').datetime()) # 无时区(假设 UTC)
print(maya.parse('2019-05-29 19:50:55').datetime()) # 非 ISO8601
print(maya.parse('2019-05-29').datetime()) # 假设 00:00:00 & UTC

Check out similar posts by category: Python