【问题标题】:Python Time zone: get abbreviation and UTC offsetPython时区:获取缩写和UTC偏移量
【发布时间】:2020-10-21 11:29:10
【问题描述】:

我的时区是“澳大利亚/墨尔本”(当我将它提供给我的函数时,我有多个这样的时区)并且我需要像这样的 ASET(GMT +10) 的输出。我怎样才能得到答案?

谢谢

【问题讨论】:

标签: python-3.x datetime timezone pytz


【解决方案1】:

假设您有可用的日期和时间(请参阅我的评论),最简单的方法可能是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)

【讨论】:

    猜你喜欢
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 2016-05-07
    • 2017-02-20
    • 2014-01-09
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多