使用包含时间偏移量的时间戳时,例如“2012-07-24T23:14:29- 07:00,”您在使用 strptime 方法将它们转换为 Python 日期时间对象时可能会遇到问题。 strptime 函数中指定的默认格式不支持时间偏移。
但是,您可以探索几种策略来解决此转换:
如果您这样做不需要保留时区信息,您可以选择在转换过程中忽略它。这可以通过切片时间戳字符串以排除偏移量来完成:
time_str = "2012-07-24T23:14:29-07:00" time_str_no_offset = time_str[:19] # Remove the offset portion time_obj = datetime.datetime.strptime(time_str_no_offset, "%Y-%m-%dT%H:%M:%S") # Convert without offset
另一种解决方案是利用 dateutil 模块。它提供了一个解析函数,可以处理带有偏移量的时间戳:
from dateutil.parser import parse time_obj = parse(time_str)
解析函数将自动检测并在结果日期时间对象中包含时区信息。
如果您使用的是 Python 3.2 或更高版本,时区支持已得到改进。您可以使用 %z 格式说明符来包含时区偏移量:
time_str = "2012-07-24T23:14:29-07:00" time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S%z")
请注意,必须删除格式中的最后一个冒号字符,并且应将偏移量之前的连字符替换为加号或取决于偏移方向的减号。
通过实现这些方法,您可以有效地将带有偏移的时间戳转换为Python中的日期时间对象,以适应您的特定要求。
以上是如何将带有时间偏移的时间戳转换为 Python 日期时间对象?的详细内容。更多信息请关注PHP中文网其他相关文章!