TimeZoneInfo (arcpy.time)
Краткая информация
Класс TimeZoneInfo можно использовать для чтения и назначения часового пояса объекту datetime Python.
Обсуждение
Встроенные объекты datetime не поддерживают часовые пояса. После назначения часового пояса объекту datetime можно выполнять операции, связанные с часовыми поясами. Например, можно использовать часовой пояс, связанный со значением времени, и преобразовать его в другой часовой пояс.
Синтаксис
Параметр | Объяснение | Тип данных |
time_zone_id |
Корректный ИД часового пояса. Список доступных ИД часовых поясов можно получить с помощью функции ListTimeZones. | String |
Обзор метода
Метод | Объяснение |
tzname (dt) |
Возвращает временную зону, соответствующую объекту datetime Python, dt, в виде строки. |
Методы
Параметр | Объяснение | Тип данных |
dt |
Ссылка на объект datetime Python. (Значение по умолчанию — None) | DateTime |
Тип данных | Объяснение |
String |
Имя часового пояса, соответствующего объекту datetime, dt. |
Возвращает имя часового пояса, соответствующего объекту datetime, dt, в качестве строки.
Пример кода
Следующий скрипт применяется часовой пояс "Тихоокеанское время" к объекту datetime Python. Затем скрипт проходит в цикле по каждому месяцу для демонстрации изменения часового пояса на "Тихоокеанское время" летом в соответствии с правилами перехода на летнее время.
import arcpy
import datetime
tzinfo = arcpy.time.TimeZoneInfo('Pacific Standard Time')
time = datetime.datetime(2011, 1, 1, tzinfo=tzinfo)
for delta in range(1, 13):
next_date = time + arcpy.time.EsriTimeDelta(1 * delta, "months")
print next_date, tzinfo.tzname(next_date)
Следующий скрипт показывает, как преобразовать значение даты и времени в часовом поясе "Тихоокеанское время" в значения для пояса "Восточное время".
import arcpy
import datetime
from_tzinfo = arcpy.time.TimeZoneInfo('Pacific Standard Time')
target_tzInfo = arcpy.time.TimeZoneInfo('Eastern Standard Time')
from_time = datetime.datetime.now(from_tzinfo)
print "target_time =", str(from_time.astimezone(target_tzInfo))