首页 >后端开发 >Python教程 >如何将带有时区偏移的时间戳转换为 Python 日期时间对象?

如何将带有时区偏移的时间戳转换为 Python 日期时间对象?

DDD
DDD原创
2024-11-27 05:48:09483浏览

How to Convert Timestamps with Timezone Offsets to Python datetime Objects?

使用 strptime 将带有偏移量的时间戳转换为日期时间对象

将时间戳从格式“YYYY-MM-DDTHH:MM:SS-hh:mm”转换为日期时间对象由于时间偏移,在 Python 中使用 strptime 方法可能具有挑战性

在提供的示例中,strptime 无法使用“%Y-%m-%dT%H:%M:%S-%z”解析偏移量为“-07:00”的时间戳“ 格式。这是因为 strptime 本身不支持 Python 2 中时区的“%z”指令。

解决方法选项:

1。忽略时区:

如果时区信息不重要,您可以通过将字符串解析到偏移量来忽略它:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')

2。使用 dateutil 模块:

或者,dateutil 模块提供更强大的解析功能,支持时区:

from dateutil.parser import parse
time_obj = parse(time_str)

Python 3 支持:

在 Python 3.2 及更高版本中,改进了对时区处理的支持。从偏移量中删除最后一个“:”并将“-”替换为“”:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(''.join(time_str.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z')

这将正确解析时间戳并创建具有指定时区偏移量的日期时间对象。

以上是如何将带有时区偏移的时间戳转换为 Python 日期时间对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

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