python-3.x - Python时区:获取缩写和UTC偏移量
问题描述
我的时区是“澳大利亚/墨尔本”(当我将它提供给我的函数时,我有多个这样的区域)并且我需要像这样的输出 ASET(GMT +10)。我怎样才能得到我的答案?
谢谢
解决方案
假设您有可用的日期和时间(请参阅我的评论),最简单的方法可能是strftime
:
from datetime import datetime
from dateutil import tz
timezone = tz.gettz("Australia/Melbourne")
dt = datetime.now(timezone)
print(f"{dt.strftime('%Z')}(GMT{dt.strftime('%z')})")
# AEST(GMT+1000)
如果您确实想获得指定的输出,我想您必须更复杂一点:
total_minutes, seconds = divmod(dt.utcoffset().total_seconds(), 60)
hours, minutes = divmod(total_minutes, 60)
utcoff = f"{int(hours):+d}:{int(minutes):02d}" if minutes else f"{int(hours):+d}"
print(f"{dt.strftime('%Z')}(GMT{utcoff})")
# AEST(GMT+10)
推荐阅读
- google-chrome-extension - 如何通过我的 html 中的 href 访问 chrome-search://local-ntp/local-ntp.html
- python - pybind11 模拟 python 枚举行为
- android - 'android:required' 未找到
- android - Flutter 无法合并 dex
- angular - 角度材料:无法打开日期选择器或选择元素
- java - ORM和对象映射的区别?
- asp.net-core - 在解析日期上增加了一个小时
- go - 如何获取客户端IP
- python - TypeError:使用列表时“str”对象不可调用
- ios - Swift 将数据编码为 URL