首页 >后端开发 >Python教程 >如何高效地将 ISO 8601 字符串解析为 Python 日期时间对象?

如何高效地将 ISO 8601 字符串解析为 Python 日期时间对象?

Susan Sarandon
Susan Sarandon原创
2024-12-18 03:46:15291浏览

How to Efficiently Parse ISO 8601 Strings into Python datetime Objects?

如何将 ISO 8601 字符串解析为 Python 日期时间对象

ISO 8601 是表示日期和时间的广泛使用的标准。它经常用于数据交换和网络服务。然而,将 ISO 8601 字符串解析为 Python 日期时间对象可能有点困难。

一种黑客方法

一种常见的方法是使用 time.strptime() 函数来解析字符串。然而,这种方法可能很乏味并且容易出错。下面是一个示例:

datetime.datetime(*time.strptime("2009-05-28T16:15:00", "%Y-%m-%dT%H:%M:%S")[:6])

更简洁的解决方案

幸运的是,有更优雅的方法来解析 ISO 8601 字符串。 dateutil 库提供了一个名为 parser.parse() 的便捷函数:

from dateutil import parser

yourdate = parser.parse("2009-05-28T16:15:00")

此函数可以处理各种 ISO 8601 格式,包括带有时区的字符串。

示例用法

以下是如何使用 parser.parse() 的一些示例函数:

# Parse a basic ISO 8601 string
dateutil.parser.parse("2009-05-28T16:15:00Z")

# Parse a string with a timezone offset
dateutil.parser.parse("2009-05-28T16:15:00-05:00")

# Parse a string with a fractional second
dateutil.parser.parse("2009-05-28T16:15:00.123Z")

parser.parse() 函数返回一个可以在 Python 代码中使用的日期时间对象。

以上是如何高效地将 ISO 8601 字符串解析为 Python 日期时间对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn