Как использовать модуль 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 имеет множество встроенных функций для работы со значениями даты и времени различных часовых поясов. С помощью этого модуля значения даты и времени веб-сайта можно изменить в соответствии с часовым поясом посетителя. Основное использование этого модуля было объяснено в этой статье с использованием различных примеров, чтобы помочь читателям понять цель этого модуля.



2021-04-10T13:04:12
Python