Сообщить об ошибке.

Модуль datetime в Python, работа с датой и временем

Форматирование, преобразования и обработка даты и времени

Модуль datetime предоставляет классы для манипулирования датами и временем.

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

Объекты даты и времени могут быть классифицированы как "осведомленные" или "наивные".

Обладая достаточными настройками, такими как информация о часовом поясе и летнем времени, "осведомленный" объект может найти себя относительно других "осведомленных" объектов. Такие объекты представляют определенный момент времени, который нельзя интерпретировать по другому.

"Наивный" объект не содержит достаточно информации о времени в конкретном месте. Представляет ли "наивный" объект Всемирное координированное время (UTC), местное время или время в каком-либо другом часовом поясе, зависит только от программы, так же как от программы зависит, представляет ли конкретное число - метры или мили. "Наивные" объекты легко понять и работать с ними за счет игнорирования некоторых аспектов реальности.

Для приложений, требующих "осведомленных" объектов, объекты datetime.datetime и datetime.time имеют необязательный атрибут информации о часовом поясе tzinfo, который может быть установлен на экземпляр подкласса абстрактного класса tzinfo. Объекты tzinfo собирают информацию о смещении от времени UTC, имени часового пояса и действии летнего времени.

Модуль datetime предоставляет только один конкретный класс tzinfo - класс часовых поясов. Класс часовых поясов может представлять простые часовые пояса с фиксированными смещениями от UTC, например сам UTC или североамериканские часовые пояса EST и EDT. Поддержка часовых поясов на более глубоких уровнях детализации зависит от приложения.

Модуль datetime определяет следующие типы:

  • Класс datetime.date представляет собой идеализированную "наивную" дату, при условии, что текущий григорианский календарь всегда был и всегда будет в силе.Имеет атрибуты: year, month, day.

  • Класс datetime.time представляет собой идеализированное время, независимое от любого конкретного дня, при условии, что каждый день имеет ровно 24 * 60 * 60 секунд.Имеет атрибуты: hour, minute, second, microsecond и tzinfo.

  • Класс datetime.datetime представляет собой сочетание объектов datetime.date и datetime.time.Имеет атрибуты: year, month, day, hour, minute, second, microsecond и tzinfo.

  • Класс datetime.timedelta представляет собой длительность, выражающая разницу между двумя экземплярами даты, времени или даты и времени с микросекундным разрешением.

  • Класс datetime.tzinfo представляет собой абстрактный базовый класс для информационных объектов часового пояса.Он используются классами datetime и time для предоставления настраиваемого понятия корректировки времени, например для учета часового пояса и/или перехода на летнее время.

  • Класс datetime.timezone реализует абстрактный базовый класс tzinfo как фиксированное смещение от UTC.

Общие свойства.

Типы datetime.date, datetime.time, datetime.datetime и datetime.timezone имеют следующие общие характеристики:

  • Объекты этих типов неизменны.
  • Объекты этих типов являются хешируемыми, что означает, что они могут использоваться в качестве ключей словаря.
  • Объекты этих типов поддерживают сериализацию с помощью модуля pickle.