How to get the common name for a pytz timezone eg. EST/EDT for America/New_York

后端 未结 4 1739
梦谈多话
梦谈多话 2020-12-09 14:40

Given a pytz timezone for a particular user(calculated from his offset), i want to display the common name for that timezone. I\'m assuming people are more accustomed to see

4条回答
  •  生来不讨喜
    2020-12-09 15:18

    This may not have been around when this question was originally written, but here is a snippet to get the time zone official designation:

    >>> eastern = timezone('US/Eastern')
    >>> eastern.zone
    'US/Eastern'
    

    Further, this can be used with a non-naive datetime object (aka a datetime where the actual timezone has been set using pytz..localize() or datetime_object.astimezone(pytz.) as follows:

    >>> import datetime, pytz
    >>> todaynow = datetime.datetime.now(tz=pytz.timezone('US/Hawaii'))
    >>> todaynow.tzinfo # turned into a string, it can be split/parsed
    
    >>> todaynow.strftime("%Z")
    'HST'
    >>> todaynow.tzinfo.zone
    'US/Hawaii'
    

    This is, of course, for the edification of those search engine users who landed here. ... See more at the pytz module site.

提交回复
热议问题