2016-05-09 2 views
0

Мне нужно знать, как использовать сокращенное название часового пояса, например PST, IST и т. Д. На pytz.Как использовать сокращенное название часового пояса (PST, IST) в Pytz

Теперь я смогу конвертировать между часовым поясом, используя имя часового пояса, например «Америка/Лос-Анджелесе».

Вместо этого мне нужно найти способ, используя имя часового пояса, как PST, IST и т.д.,

Пример кода я в настоящее время используется для преобразования.

def local2utc(self, dt): 

    from_zone = tz.gettz('America/Los_Angeles') 
    to_zone = tz.gettz('UTC') 
    local = dt.replace(tzinfo=from_zone) 
    print("converted time") 
    print(local.astimezone(to_zone).replace(tzinfo = None)) 
    return local.astimezone(to_zone).replace(tzinfo = None) 

Кому-то дайте мне знать, как достичь того же.

+0

1- эти сокращения обозначают ваш часовой пояс? В противном случае результат может быть неоднозначным. См. [Синхронизация даты/времени с сокращенным названием временной зоны в Python?] (Http://stackoverflow.com/q/1703546/4279). 2 - ваш 'local2utc()' неверен. Не используйте '.replace (tzinfo)' с часовым поясом, который имеет нефиксированное смещение utc, например 'America/Los_Angeles'. См. [Преобразование часового пояса в реальном времени с использованием pytz] (http://stackoverflow.com/q/27531718/4279) – jfs

ответ

0

Это по своей природе невозможно, поскольку некоторые сокращения могут означать несколько (разных) часовые пояса:

http://www.timeanddate.com/time/zones/

Если вы хотите работать специально для часовых поясов, сделать словарь отображение аббревиатуры длинного имени ,

 Смежные вопросы

  • Нет связанных вопросов^_^