Рубрики
Без рубрики

Модуль маятника Python

Python маятник, модуль даты Python, время даты Python с часовым поясом, замена модуля Python DateTime, Python Add Add Add Add Time.

Автор оригинала: Pankaj Kumar.

Модуль Python маятника представляет собой замену встроенной для встроенного модуля DateTime. Модуль Python маятника поддерживает часовые появления и предоставляет полезные методы для форматирования, анализа, анализа и дата времени манипуляций. Этот модуль предоставляет все особенности модуля Pytz и многое другое.

Модуль маятника Python

Мы можем установить модуль маятника, используя команду PIP.

pip install pendulum

Пример маятника Python

Мы можем использовать модуль маятника для создания объектов часового пояса и использовать его с помощью datetime.now () Функция для создания экземпляра TimeZone Aware DateTime.

from datetime import datetime
import pendulum

utc = pendulum.timezone('UTC')
pst = pendulum.timezone('America/Los_Angeles')
ist = pendulum.timezone('Asia/Calcutta')

print(type(utc))
print('Current Date Time in UTC =', datetime.now(utc))
print('Current Date Time in PST =', datetime.now(pst))
print('Current Date Time in IST =', datetime.now(ist))
print(type(datetime.now(ist)))

Выход:


Current Date Time in UTC = 2018-09-25 09:16:45.031461+00:00
Current Date Time in PST = 2018-09-25 02:16:45.031501-07:00
Current Date Time in IST = 2018-09-25 14:46:45.031555+05:30

Давайте посмотрим, как использовать маятниковый модуль в качестве замены модуля DateTime. Однако, если вы уже используете модуль DateTime, то лучше их не смешивать.

utc_time = pendulum.now('UTC')
print(type(utc_time))
print('Current Date Time in UTC =', utc_time)

Выход:


Current Date Time in UTC = 2018-09-25T09:16:45.031608+00:00

Преобразование часовых поясов

utc_time = pendulum.now('UTC')
ist_time = utc_time.in_timezone('Asia/Calcutta')
print(type(ist_time))
print('Current Date Time in IST =', ist_time)

tz = pendulum.timezone('Europe/Paris')
paris_time = tz.convert(ist_time)
print('Current Date Time in Paris =', paris_time)

Выход:


Current Date Time in IST = 2018-09-25T14:46:45.031608+05:30
Current Date Time in Paris = 2018-09-25T11:16:45.031608+02:00

Дата времени манипуляции

Мы можем использовать Add () и вычесывать () функции на дату времени манипуляций.

utc_time.add(years=1)
utc_time.subtract(months=2)
print('Updated UTC Time', utc_time)

Выход: Обновлено UTC Time 2018-09-25T09: 16: 45.031608 + 00: 00

Дата Форматирование времени

Есть несколько полезных методов для преобразования времени даты в стандартную форматированную строку. Модуль маятника также имеет функцию STRFTIME (), где мы можем указать наш собственный формат.

print(utc_time.to_iso8601_string())
print(utc_time.to_formatted_date_string())
print(utc_time.to_w3c_string())
print(utc_time.to_date_string())

# supports strftime() too
print(utc_time.strftime('%Y-%m-%d %H:%M:%S %Z%z'))

Выход:

2018-09-25T09:16:45.031608Z
Sep 25, 2018
2018-09-25T09:16:45+00:00
2018-09-25
2018-09-25 09:16:45 UTC+0000

Строка разбора на сегодняшний день

Мы можем использовать функцию Parse () для анализа строки, имеющей обычно используемые форматы для объекта dateTime. Если вы хотите указать строку формата, затем используйте функцию_format ().

dt = pendulum.parse('2018-05-21T22:00:00')
print(dt)

dt = pendulum.parse('2018-05-21T22:00:00', tz='Europe/Paris')
print(dt)

# parsing using specified format string
dt = pendulum.from_format('2018/05/21', 'YYYY/MM/DD')
print(dt)

Выход:

2018-05-21T22:00:00+00:00
2018-05-21T22:00:00+01:00
2018-05-21T00:00:00+00:00

Продолжительность – замена Timedelta

time_delta = pendulum.duration(days=1, hours=10, years=2)
print(time_delta)
print('time_delta years =', time_delta.years)

print('time_delta in seconds =', time_delta.in_seconds())
print('time_delta in words =', time_delta.in_words())

print('future date =', pendulum.now() + time_delta)

Выход:

2 years 1 day 10 hours
time_delta years = 2
time_delta in seconds = 122400
time_delta in words = 2 years 1 day 10 hours
future date = 2020-09-27T00:46:45.037866+05:30

Промежуток времени

current_date = pendulum.now()
future_date = current_date.add(days=4)

period_time = future_date - current_date

print('period in words =', period_time.in_words())

# period is iterable with days
for dt in period_time:
    print(dt)

Выход:

period in words = 4 days
2018-09-25T14:46:45.037972+05:30
2018-09-26T14:46:45.037972+05:30
2018-09-27T14:46:45.037972+05:30
2018-09-28T14:46:45.037972+05:30
2018-09-29T14:46:45.037972+05:30

Ссылка: Официальный веб-сайт