СПРАВОЧНИК
Модуль datetime в Python
Работа с датами и временем
Модуль datetime из стандартной библиотеки Python предоставляет классы для работы с датами и временем: date (только дата), time (только время), datetime (дата и время вместе), timedelta (промежуток) и timezone (часовой пояс). Обычно нужные классы импортируют так:
from datetime import date, time, datetime, timedelta, timezoneОбъекты date, time и datetime неизменяемы (immutable): методы вроде .replace() возвращают новый объект, а не меняют исходный.
Класс date 9
date()
date(year, month, day)Создаёт объект даты по году, месяцу и дню.date.fromisoformat()
date.fromisoformat(date_string)Создаёт дату из строки в формате ISO 8601 (ГГГГ-ММ-ДД).date.fromtimestamp()
date.fromtimestamp(timestamp)Создаёт дату из Unix-таймстампа (секунд с 1970-01-01).date.isoformat()
date.isoformat()Возвращает дату в виде строки формата ГГГГ-ММ-ДД.date.isoweekday()
date.isoweekday()Возвращает день недели по ISO: понедельник 1 ... воскресенье 7.date.replace()
date.replace(year=..., month=..., day=...)Возвращает новую дату с заменёнными компонентами.date.strftime()
date.strftime(format)Форматирует дату в строку по заданному шаблону.date.today()
date.today()Возвращает текущую локальную дату.date.weekday()
date.weekday()Возвращает день недели как число: понедельник 0 ... воскресенье 6.Класс datetime 13
datetime()
datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)Создаёт объект с датой и временем одновременно.datetime.combine()
datetime.combine(date, time)Собирает datetime из отдельных объектов date и time.datetime.date()
datetime.date()Извлекает из datetime только дату (объект date).datetime.fromisoformat()
datetime.fromisoformat(date_string)Разбирает строку ISO 8601 в объект datetime.datetime.fromtimestamp()
datetime.fromtimestamp(timestamp, tz=None)Создаёт datetime из Unix-таймстампа.datetime.isoformat()
datetime.isoformat(sep='T')Возвращает datetime как строку ISO 8601.datetime.now()
datetime.now(tz=None)Возвращает текущую локальную дату и время.datetime.replace()
datetime.replace(year=..., month=..., ..., tzinfo=...)Возвращает новый datetime с заменёнными полями.datetime.strftime()
datetime.strftime(format)Форматирует дату и время в строку по шаблону.datetime.strptime()
datetime.strptime(date_string, format)Разбирает строку в datetime по заданному шаблону.datetime.time()
datetime.time()Извлекает из datetime только время (объект time).datetime.timestamp()
datetime.timestamp()Возвращает Unix-таймстамп (секунды с эпохи) как float.datetime.utcnow()
datetime.utcnow()Возвращает текущее время UTC (naive). Устарел.Класс time 1
Класс timedelta 4
timedelta()
timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)Представляет промежуток времени между двумя моментами.timedelta.days
timedelta.daysЦелое число полных дней в промежутке.timedelta.total_seconds()
timedelta.total_seconds()Возвращает всю длительность в секундах как float.Арифметика дат (datetime − datetime)
datetime2 - datetime1 -> timedeltaРазность двух дат даёт timedelta — промежуток между ними.