
Python предоставляет очень мощный модуль для управления датой и временем. Это особенно полезно для финансовых данных, поскольку большинство финансовых данных представляют собой данные временных рядов. Начнем с импорта модуля.
import datetime
Первым делом нужно проверить время прямо сейчас:
print(datetime.datetime.now())
Мы также можем создать объект datetime, передав год, месяц и день. Итак, если бы нам нужно было создать объект на сегодняшний день, мы сделаем следующее:
today = datetime.datetime(2021, 1, 13) print(today)
Аналогично вы также можете добавить время. Например, мы можем добавить к дате выше 15:15:
event = datetime.datetime(2021, 1, 13, 15, 15) print(event)
Преобразование строки в объект datetime
Модуль datetime позволяет очень легко преобразовать строку в объект datetime. Ключ в том, чтобы определить формат строки. Это похоже на то, как если бы вы должны указать модулю, где нужно указать год, месяц, день и время в строке. Данные даты / времени в строке заменяются%, за которым следует алфавит, обозначающий, год / месяц / день или время, также в зависимости от формата данных даты / времени в строке. Соответствующая буква конкретному формату даты / времени показана в этой таблице:

Так, например, если текст - «Воскресенье, 14 февраля 2021 г.», мы заменим текст, представляющий дату / время, на%, за которым следует соответствующая буква, но оставим остальной текст как есть. Итак, наш формат будет «% A the% dth,% B,% Y». Давайте попробуем это:
date_string = "Sunday the 14th, February, 2021" date_format = "%A the %dth, %B, %Y" valentines_day = datetime.datetime.strptime(date_string, date_format) print(valentines_day)
Доступ к атрибутам datetime: модуль datetime также позволяет очень удобно получить доступ к определенным атрибутам, таким как год, месяц или день. Для нашего valentines_day мы можем сделать это следующим образом:
print(valentines_day.day)
Это будет работать для года, месяца, секунды, минуты и часа, очень интуитивно. Помните, все это единичные числа, секунды, а не секунды, час, а не часы.
Рано или поздно:
Модуль datetime также упрощает сравнение дат. С точки зрения сравнения дат, значение даты - это количество дней, которые она перенесет с начала, более поздняя дата будет иметь больше дней / времени, поэтому она будет «больше, чем» более ранняя дата. Например, давайте определим день Мартина Лютера Кинга в этом году.
mlk_day = datetime.datetime(2021, 1, 18)
Давайте сравним это с нашим Днем Святого Валентина:
mlk_day < valentines_day
Поскольку день MLK приходится на январь и является более ранней датой по сравнению с днем святого Валентина, который приходится на февраль, мы заявили, что день MLK меньше, чем день святого Валентина. Тот же принцип применяется к более чем (›), не равному (! =) И равному (==) при сравнении дат.
Если вы хотите вычислить разницу даты и времени между двумя объектами datetime, вы можете просто добавить или вычесть их. Например, давайте посчитаем количество дней между днем MLK в этом году и днем святого Валентина, мы можем сделать это, просто вычитая одно из другого.
difference=valentines_day-mlk_day print(difference)
Если вам нужно только количество дней, вы можете сделать это следующим образом:
print(difference.days)
А что, если вы хотите рассчитать дату на определенное количество дней до или после определенной даты? Поприветствуйте timedelta. Это класс в модуле datetime, который вычислит дату для вас с учетом разницы между двумя датами. Давайте посчитаем дату через 280 дней после Дня святого Валентина (можно догадаться, почему именно 280 дней?).
calculated_date = valentines_day + datetime.timedelta(days=280) print(calculated_date)
Это было краткое введение в модуль datetime. Если вы хотите узнать больше о настройке дат, особенно праздников и выходных, прочтите эту статью:
Игра с датами и праздниками в Python с помощью Pandas
Источники / ссылки: