Класс date() модуля datetime
Варианты создания объекта даты datetime.date.
Синтаксис:
import datetime
date = datetime.date(year, month, day)Параметры:
Все аргументы обязательны. Аргументы должны быть целыми числами.
year- год в пределахdatetime.MINYEAR <= year <= datetime.MAXYEAR,month- месяц в пределах1 <= month <= 12,day- день в пределах1 <= day <= n, n - количество дней в данном месяце и году.
Если задан аргумент вне этих диапазонов, вызывается исключение ValueError.
Возвращаемое значение:
Описание:
Класс date() модуля datetime - объект даты, который представляет дату - год, месяц и день в идеализированном календаре, текущий григорианский календарь бесконечно расширяется в обоих направлениях.
Атрибуты экземпляра datetime.date (только для чтения):
date.year- возвращает год в диапазоне, указанном выше,date.month- возвращает месяц в диапазоне, указанном выше,date.day- возвращает день в диапазоне, указанном выше.
Создание объекта datetime.date другими способами:
datetime.date другими способами:datetime.date.today():
Подкласс datetime.date.today() возвращает текущую местную дату, что эквивалентно вызову выражения datetime.date.fromtimestamp(time.time()).
datetime.date.fromtimestamp(timestamp):
Подкласс datetime.date.fromtimestamp() возвращает локальную дату, соответствующую метке времени POSIX, например возвращается функцией time.time().
Если отметка времени выходит за пределы диапазона значений, поддерживаемых функцией localtime() платформы, то это может вызвать исключение OverflowError, а при сбое системной localtime() - исключение OSError. Отметка времени обычно ограничивается годами с 1970 по 2038 год.
Обратите внимание, что в системах без POSIX, которые включают в себя понятие високосных секунд в своем значении временной метки, високосные секунды игнорируются функцией fromtimestamp().
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().
Поддерживаемые операции:
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)
Заметки:
date2перемещается вперед во времени, еслиtimedelta.days > 0, или назад, еслиtimedelta.days < 0. После операции верно равенствоdate2 - date1 == timedelta.days,timedelta.secondsиtimedelta.microsecondsигнорируются. Еслиdate2.yearбудет меньшеdatetime.MINYEARили большеdatetime.MAXYEARто появляется исключениеOverflowError.timedelta.secondsиtimedelta.microsecondsигнорируются.Значение точно и не может переполниться.
timedelta.secondsиtimedelta.microsecondsравны 0, а после справедливо равенствоdate2 + timedelta == date1.Другими словами,
date1< date2тогда и только тогда, когдаdate1.toordinal() < date2.toordinal(). Сравнение даты вызывает исключениеTypeError, если один из объектов сравнения не является объектом даты. Если один из объектов сравнения имеет атрибутtimetuple(), то возвращается исключениеNotImplemented. Этот хук дает другим типам объектов даты возможность реализовать сравнение смешанного типа. В противном случае, когда объект даты сравнивается с объектом другого типа, то вызывается исключениеTypeError.
В логическом контексте все объекты даты считаются истинными.
Last updated