首页 > 后端开发 > Python教程 > 如何在 Python 中转换时区:综合指南

如何在 Python 中转换时区:综合指南

Susan Sarandon
发布: 2024-10-26 06:38:02
原创
303 人浏览过

How to Convert Timezones in Python: A Comprehensive Guide

Python 时区转换解释

跨不同时区转换时间是 Python 中的一项常见任务。本问题探讨了如何有效地执行此转换。

推荐的方法是将感兴趣的时间转换为 UTC 感知的日期时间对象。这是因为 Python 中的 datetime 对象本身并不包含时区信息。

时间采用 UTC 格式后,您可以使用 astimezone 函数将其转换为所需的时区。例如,请考虑以下代码:

<code class="python">from datetime import datetime
import pytz

utcmoment_naive = datetime.utcnow()
utcmoment = utcmoment_naive.replace(tzinfo=pytz.utc)</code>
登录后复制

这会将当前 UTC 时间转换为 UTC 感知的日期时间对象。要转换为特定时区,请使用以下命令:

<code class="python">localDatetime = utcmoment.astimezone(pytz.timezone('America/Los_Angeles'))</code>
登录后复制

这会将 UTC 时间转换为洛杉矶的太平洋时间 (PT)。

在时间可能不存在的情况下由于夏令时或其他因素而转换的时区,您可以使用以下方法:

<code class="python">localmoment_naive = datetime.strptime('2013-09-06 14:05:10', '%Y-%m-%d %H:%M:%S')
localtimezone = pytz.timezone('Australia/Adelaide')

try:
    localmoment = localtimezone.localize(localmoment_naive, is_dst=None)
    print("Time exists")

    utcmoment = localmoment.astimezone(pytz.utc)

except pytz.exceptions.NonExistentTimeError as e:
    print("NonExistentTimeError")</code>
登录后复制

此尝试将本地时间转换为 UTC,处理由于夏令时时间可能不存在的可能性时间。

以上是如何在 Python 中转换时区:综合指南的详细内容。更多信息请关注PHP中文网其他相关文章!

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