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

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

DDD
发布: 2024-11-27 05:48:09
原创
493 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板