Как использовать модуль PYTZ в Python

Значения даты и времени зависят от зоны. Эти значения необходимо изменить для тех приложений Python, которые требуют работы с международными пользователями. Согласно зоне, модуль dateTime Python не может преобразовывать значения даты и времени. Эту проблему можно решить, используя модуль pytz Python. Этот модуль не установлен в Python. Итак, вам необходимо установить этот модуль, прежде чем использовать его в скрипте. В этой статье показано, как модуль pyzt можно установить и использовать в Python.
Установите модуль PYZT:
Выполните следующую команду, чтобы установить модуль pyzt, прежде чем практиковаться в примерах этой статьи.
$ pip install pytz
Пример 1: Распечатать все поддерживаемые и часто используемые часовые пояса
Следующий скрипт распечатает все поддерживаемые часовые пояса и широко используемые часовые пояса с помощью модуля pyzy . Модуль pyzt импортируется в начале скрипта. Атрибут pytz.all_timezones возвращает список всех поддерживаемых часовых поясов в виде объекта списка. Атрибут pytz.common_timezones возвращает список всех часто используемых часовых поясов в виде объекта списка. После выполнения этого скрипта будут напечатаны два списка.
# Импортировать модуль pytz
import pytz
# Распечатать все поддерживаемые часовые пояса
print('Часовые пояса, поддерживаемые модулем pytz: \n', pytz.All_timezones, '\n ')
# Распечатать часто используемые часовые пояса
print('Обычно используемые часовые пояса: \n', pytz.common_timezones, '\n ')
Пример 2: напечатать названия стран
Следующий скрипт распечатает список названий стран с кодами стран и название страны с конкретным кодом страны. Метод pytz.country_names.items() возвращает объект словаря названий стран с кодом страны. Коды стран назначаются в ключах объекта словаря, а названия стран назначаются в значениях объекта словаря. Цикл for используется в сценарии для печати названий стран с кодом страны в каждой строке путем повторения объекта словаря, возвращаемого функцией pytz.country_names.items(). Затем будет напечатано название страны с кодом страны «RU».
# Импортировать модуль pytz
import pytz
'' '
Вывести название страны с кодом страны в каждой строке,
используя цикл for
' ''
print('country_names:')
for key, val in pytz.country_names.items():
print(val, '(', key, ')')
# Распечатать название страны с конкретным кодом страны
print('\n Название страны на основе кода страны (RU):', pytz.country_names ['RU'])
Пример-3: Распечатать дату и время в зависимости от часового пояса
Значения даты и времени зависят от часового пояса. Следующий скрипт сначала напечатает дату и время текущего часового пояса. Затем часовой пояс будет изменен на US/Eastern с помощью метода pytz.timezone(), а дата и время будут напечатаны на основе US/Eastern часового пояса. Затем часовой пояс будет изменен на часовой пояс Europe/Moscow, а дата и время будут напечатаны в соответствии с часовым поясом Europe/Moscow. Дата и время часовых поясов UTC и IST будут напечатаны позже.
# Импортировать модуль datetime
import datetime as dt
# Импортировать модуль pyzt
import pytz
# Получить текущую дату
source_date = dt.datetime.now()
# Распечатать текущие данные и время
print('Текущая дата и время: \n', source_date)
# Установить часовой пояс на US/Eastern
currentTimeZone = pytz.timezone('US/Eastern')
# Вывести текущий часовой пояс Europe/Moscow
print('\nЧасовой пояс установлен на: \n', currentTimeZone)
# Прочитать и распечатать текущую дату и время часового пояса
currentDateWithTimeZone = currentTimeZone.localize(source_date)
print('Дата и время этого часового пояса: \n', currentDateWithTimeZone)
# Установите целевой часовой пояс
newTimeZone = pytz.timezone('Europe/Moscow')
print('\n Часовой пояс установлен на: \n',newTimeZone)
# Прочитать и распечатать текущую дату и время нового часового пояса
newDateWithTimezone = currentDateWithTimeZone.astimezone(newTimeZone)
print('Дата и время этого часового пояса: \n', newDateWithTimezone)
# Прочитать дату и время указанного часового пояса
print('\n Datetime of UTC Time-zone:', dt.datetime.now(tz = currentTimeZone))
print('Datetime часового пояса IST:', dt.datetime.now(tz = newTimeZone))
Пример-4: Распечатать отформатированные дату и время
В предыдущих примерах значения даты и времени печатаются в формате по умолчанию. Следующий скрипт распечатает отформатированные данные и время в соответствии с выбранным часовым поясом. Формат даты и времени определен в начале скрипта. В соответствии с форматом дата будет напечатана в формате дд-мм-гггг, а время будет напечатано в формате чч: мм: сс. Затем часовой пояс будет назначен Europe/Moscow, а дата и время будут напечатаны с использованием функции strftime() в указанном выше формате. Затем часовой пояс будет присвоен Азии/Дакке и напечатан, как и раньше.
# Импортировать модуль DateTime
from datetime import datetime
# Импортировать модуль часового пояса
from pytz import timezone
# Установить формат даты и времени
dt_format = "%d-%m-%Y %H:%M:%S"
# Установить текущее время в зоне Europe/Moscow
moscowZone = datetime.now(timezone('Europe/Moscow'))
print('Дата и время зоны Moscow: \n', moscowZone.strftime(dt_format))
# Измените часовой пояс на Asia/Dhaka
dhakaZone = moscowZone.astimezone(timezone('Asia/Dhaka'))
print('Дата и время зоны Дакки: \n', dhakaZone.strftime(dt_format))
Заключение:
Модуль pyzt имеет множество встроенных функций для работы со значениями даты и времени различных часовых поясов. С помощью этого модуля значения даты и времени веб-сайта можно изменить в соответствии с часовым поясом посетителя. Основное использование этого модуля было объяснено в этой статье с использованием различных примеров, чтобы помочь читателям понять цель этого модуля.
Редактор: AndreyEx