python - 在Python的帮助下转换时区的输出格式

标签 python datetime format timezone

也许有人遇到过并能够提供建议。

我正在获取时区“欧洲/莫斯科”,但需要将其转换为“UTC + 3”。 我的脑海中只有一个用字典的想法,但这是最后的手段。 如果有现成的解决方案,我不会感到惊讶,但我没有很好地谷歌它)

示例:

timezone = "Europe/Moscow" -> timezone = "UTC+3"

最佳答案

Python 3.9+:

您可以使用zoneinfo包。 (link)

请务必考虑夏令时。

from datetime import datetime
import zoneinfo
zone = zoneinfo.ZoneInfo("Europe/Moscow")

offset = datetime.now(zone).utcoffset().total_seconds()//(60*60)
print(offset) # 3 / 4 - This depends on daylight saving time
print(f"UTC+{int(offset)}") # UTC+3 / UTC+4

旧版:

尝试pytz,但一定要考虑夏令时。 (link)

import pytz
from datetime import datetime

moscow_tz = pytz.timezone("Europe/Moscow")

offset = moscow_tz.utcoffset(datetime.now())

print(offset) # 3:00:00 / 4:00:00 - This depends on daylight saving time
print(f"UTC+{int(offset.total_seconds()//(60*60))}") # UTC+3 / UTC+4

关于python - 在Python的帮助下转换时区的输出格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68526624/

相关文章:

python - Django ORM - 没有级联删除多对多关系

php - 不正确的日期时间值数据库错误编号 : 1292

python - 生成器可以在 python 中与 string.format 一起使用吗?

java - Apache POI : Excel changes my format string

python - 格式字符串的参数不足

python - 为什么当我尝试设置中断时 pdb 显示 "*** Blank or comment"?

python - 是否有可能 "transfer"selenium.webdriver 和 requests.session 之间的 session

Python - 基于另一个数组中相应最大值的非唯一值数组

java - Java保留时间的差异(以毫秒为单位)

php - 使用 MySQL Datetime 比较 PHP 中的时间