Как получить объект tz_info, соответствующий текущему часовому поясу?

Существует ли кросс-платформенная функция в python (или pytz ), которая возвращает объект tzinfo соответствующий tzinfo в настоящее время на компьютере?

переменные среды не могут учитываться, поскольку они не являются межплатформенными

7 Solutions collect form web for “Как получить объект tz_info, соответствующий текущему часовому поясу?”

 >>> import datetime >>> today = datetime.datetime.now() >>> insummer = datetime.datetime(2009,8,15,10,0,0) >>> from pytz import reference >>> localtime = reference.LocalTimezone() >>> localtime.tzname(today) 'PST' >>> localtime.tzname(insummer) 'PDT' >>> 

tzlocal модуль, который возвращает pytz timezones работает на * nix и win32:

 from datetime import datetime from tzlocal import get_localzone # $ pip install tzlocal # get local timezone local_tz = get_localzone() print local_tz.localize(datetime(2012, 1, 15)) # -> 2012-01-15 00:00:00+04:00 # current utc offset print local_tz.localize(datetime(2000, 1, 15)) # -> 2000-01-15 00:00:00+03:00 # past utc offset (note: +03 instead of +04) print local_tz.localize(datetime(2000, 6, 15)) # -> 2000-06-15 00:00:00+04:00 # changes to utc offset due to DST 

Примечание: в нем учитываются изменения DST и не-DST utc offset.

Этот следующий фрагмент кода возвращает время в другом часовом поясе, независимо от часового пояса, настроенного на сервере.

 # pip install pytz tzlocal from tzlocal import get_localzone from datetime import datetime from pytz import timezone local_tz = get_localzone() local_datetime = datetime.now(local_tz) zurich_tz = timezone('Europe/Zurich') zurich_datetime = zurich_tz.normalize(local_datetime.astimezone(zurich_tz)) 

time.timezone возвращает текущее смещение часового пояса. есть также datetime.tzinfo , если вам нужна более сложная структура.

Я не использовал его сам, но dateutil.tz.tzlocal () должен сделать трюк.

http://labix.org/python-dateutil#head-50221b5226c3ccb97daa06ea7d9abf0533ec0310

Возможно, попробуйте:

import time

print time.tzname #or time.tzname[time.daylight]

Я спрашивал об этом сам, и я нашел ответ в [1]:

Взгляните на раздел 8.1.7: формат «% z» (строчный регистр, верхний регистр Z возвращает также часовой пояс, но не в 4-значном формате, а в виде сокращений временных зон, как в [3]), strftime возвращает форму «+/- 4DIGIT», которая является стандартной в заголовках электронной почты (см. раздел 3.3 RFC 2822, см. [2], в котором устаревают другие способы указания часового пояса для заголовков электронной почты).

Итак, если вы хотите использовать часовой пояс в этом формате, используйте:

 time.strftime("%z") 

[1] http://docs.python.org/2/library/datetime.html

[2] http://tools.ietf.org/html/rfc2822#section-3.3

[3] Сокращения временной зоны: http://en.wikipedia.org/wiki/List_of_time_zone_abbreviations , только для справки.

  • изменение часового пояса в Python
  • Используя python, самый точный способ автоматического определения текущего часового пояса пользователей
  • Синхронизация даты и времени в Python с использованием формата time.strptime
  • Как обрабатывать время с часовым поясом в Matplotlib?
  • Разрешение AmbiguousTimeError из make_aware от Django
  • Python pandas tz_localize бросает NonExistentTimeError, а затем не может отказаться от ошибочных времен
  • datetime.now в python отличается при запуске локально и на сервере
  • datetime и timezone с pytz-mind blowing behavior
  •  
    Interesting Posts for Van-Lav

    ImportError: невозможно импортировать имя doccer

    Есть ли библиотека NumPy для набора вычислений?

    как заставить python spyder распознавать внешние пакеты на MacOS X?

    Укажите цвет заполнения изображения при повороте в python с помощью PIL и установите для параметра expand значение true

    Как изменить размер рисунков, нарисованных с помощью matplotlib?

    Самый быстрый способ получить отсортированный уникальный список в python?

    Неверная версия Python Smtp SSL для Linux

    Интерфейс администратора Django добавляет символы u " в список строк с SeparatedValuesField

    PyQt: Как установить элементы Combobox?

    Как получить наиболее информативные функции для классификаторов scikit-learn?

    соединение Pyside QPushButton и matplotlib

    получить максимальное значение y гистограммы

    Принуждение скрипта python для ввода данных из STDIN

    Ошибка установки pyinstaller с «setup.py еще не должна работать. Пожалуйста, используйте PyInstaller без установки. "

    Как решить переобучение в случайном лесу Python sklearn?

    Python - лучший язык программирования в мире.