使用 python-dateutil**
解析 ISO 8601 日期和时间方便解析 ISO 8601 格式的日期和时间字符串,如“2008- 09-03T20:56:35.450686Z”进入Python datetime 类型,请考虑使用 python-dateutil 包的
dateutil.parser.isoparse函数。
isoparse 函数isoparse
函数解释各种 ISO 8601 日期和时间字符串,甚至那些不符合 RFC 3339 规范的字符串(例如,没有 UTC 偏移量的字符串或仅日期字符串)。
用法:>>> import dateutil.parser >>> dateutil.parser.isoparse('2008-09-03T20:56:35.450686Z') # RFC 3339 format datetime.datetime(2008, 9, 3, 20, 56, 35, 450686, tzinfo=tzutc()) >>> dateutil.parser.isoparse('2008-09-03T20:56:35.450686') # ISO 8601 extended format datetime.datetime(2008, 9, 3, 20, 56, 35, 450686) >>> dateutil.parser.isoparse('20080903T205635.450686') # ISO 8601 basic format datetime.datetime(2008, 9, 3, 20, 56, 35, 450686) >>> dateutil.parser.isoparse('20080903') # ISO 8601 basic format, date only datetime.datetime(2008, 9, 3, 0, 0)
isoparse**的替代品python-dateutil 包还提供了
dateutil.parser.parse,它不太严格,可能会尝试解释。为了获得最大的准确性,请考虑使用更严格的解析器。
Python 内置的注意事项datetime.datetime.fromisoformat**在 3.10 之前的 Python 版本中,
fromisoformat 不是一个完整的 ISO-8601 解析器。在Python 3.11中,它几乎完全支持ISO 8601,但仍保留一些限制。具体细节请查阅官方文档。以上是如何在 Python 中高效解析 ISO 8601 日期和时间?的详细内容。更多信息请关注PHP中文网其他相关文章!