问题:
尝试解析带有时区的日期和时间字符串时使用 Python 的 strptime() 函数,您会注意到返回的 datetime 对象缺少时区信息。尽管查阅了文档,但您找不到任何对此行为的记录参考。
答案:
虽然 strptime() 的文档没有明确说明其遗漏时区,众所周知,会默默地丢弃它们。但是,还有一种准确保留时区的替代解决方案。
解决方案:
为了在解析日期和时间字符串时有效管理时区,建议使用python-dateutil 模块。它的解析器提供全面的日期格式处理,包括时区。
演示:
from dateutil import parser # Parsing a date with an explicit time zone parsed_datetime = parser.parse("Tue Jun 22 07:46:22 EST 2010") print(parsed_datetime.tzinfo) # Outputs 'tzlocal()' (local time zone)
结论:
作者使用 python-dateutil 解析器,您可以有效地解析保留时区的日期和时间字符串,从而无需与strptime() 的局限性。
以上是为什么 Python 的 strptime() 不保留时区,最好的替代方案是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!