Класс date() модуля datetime

Варианты создания объекта даты datetime.date.

Синтаксис:

import datetime

date = datetime.date(year, month, day)

Параметры:

Все аргументы обязательны. Аргументы должны быть целыми числамиarrow-up-right.

  • year - год в пределах datetime.MINYEAR <= year <= datetime.MAXYEAR,

  • month - месяц в пределах 1 <= month <= 12,

  • day - день в пределах 1 <= day <= n, n - количество дней в данном месяце и году.

Если задан аргумент вне этих диапазонов, вызывается исключение ValueErrorarrow-up-right.

Возвращаемое значение:

Описание:

Класс date()arrow-up-right модуля datetimearrow-up-right - объект даты, который представляет дату - год, месяц и день в идеализированном календаре, текущий григорианский календарь бесконечно расширяется в обоих направлениях.

Атрибуты экземпляра datetime.date (только для чтения):

  • date.year - возвращает год в диапазоне, указанном выше,

  • date.month - возвращает месяц в диапазоне, указанном выше,

  • date.day - возвращает день в диапазоне, указанном выше.

Создание объекта datetime.date другими способами:

datetime.date.today():

Подкласс datetime.date.today() возвращает текущую местную дату, что эквивалентно вызову выражения datetime.date.fromtimestamp(time.time()).

datetime.date.fromtimestamp(timestamp):

Подкласс datetime.date.fromtimestamp() возвращает локальную дату, соответствующую метке времени POSIX, например возвращается функцией time.time()arrow-up-right.

Если отметка времени выходит за пределы диапазона значений, поддерживаемых функцией localtime() платформы, то это может вызвать исключение OverflowErrorarrow-up-right, а при сбое системной localtime() - исключение OSErrorarrow-up-right. Отметка времени обычно ограничивается годами с 1970 по 2038 год.

Обратите внимание, что в системах без POSIX, которые включают в себя понятие високосных секунд в своем значении временной метки, високосные секунды игнорируются функцией fromtimestamp()arrow-up-right.

datetime.date.fromisoformat(date_string):

Подкласс datetime.date.fromisoformat() возвращает дату, соответствующую строке date_string в формате, заданным в любом допустимом формате ISO 8601, кроме порядковых дат (например, YYYY-DDD):

Изменено в Python 3.11: ранее этот метод поддерживал только формат YYYY-MM-DD.

datetime.date.fromisocalendar(year, week, day):

Подкласс datetime.date.fromisocalendar() возвращает дату, соответствующую календарной дате ISO, указанной по году year, неделе week и дню day.

Это обратное значение возвращаемое методом date.isocalendar()arrow-up-right.

Поддерживаемые операции:

Операция
Результат
Заметка

date2 = date1 + timedelta

'date2' это 'timedelta.days' дней, удаленных из 'date1'.

(1)

date2 = date1 - timedelta

Вычисляет 'date2' так, что 'date2 + timedelta == date1'.

(2)

timedelta = date1 - date2

(3)

date1 < date2

'date1' считается меньше чем 'date2', когда 'date1' предшествует 'date2' во времени.

(4)

Заметки:

  1. date2 перемещается вперед во времени, если timedelta.days > 0, или назад, если timedelta.days < 0. После операции верно равенство date2 - date1 == timedelta.days, timedelta.seconds и timedelta.microsecondsarrow-up-right игнорируются. Если date2.year будет меньше datetime.MINYEAR или больше datetime.MAXYEAR то появляется исключение OverflowErrorarrow-up-right.

  2. Значение точно и не может переполниться. timedelta.seconds и timedelta.microsecondsarrow-up-right равны 0, а после справедливо равенство date2 + timedelta == date1.

  3. Другими словами, date1< date2 тогда и только тогда, когда date1.toordinal() < date2.toordinal(). Сравнение даты вызывает исключение TypeErrorarrow-up-right, если один из объектов сравнения не является объектом даты. Если один из объектов сравнения имеет атрибут timetuple(), то возвращается исключение NotImplementedarrow-up-right. Этот хук дает другим типам объектов даты возможность реализовать сравнение смешанного типа. В противном случае, когда объект даты сравнивается с объектом другого типа, то вызывается исключение TypeError.

В логическом контексте все объекты датыarrow-up-right считаются истинными.

Last updated