Дата и время в Python - функции и методы модуля datetime
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Модули «Python»
Комментариев: 0

В этом уроке по основам Python вы ознакомитесь с использованием модуля datetime. Основная задача модуля datetime - упрощение доступа к дате и времени.

Модуль datetime предоставляет три класса:

  • datetime.date - класс отвечает за вывод даты, по григорианскому календарю.
  • datetime.time - класс отвечает за вывод времени, в этом объекте хранятся сведения о часовом поясе.
  • datetime.datetime - класс, комбинирующий в себе дату и время. Объект имеет атрибуты обоих классов.

Пример использования:

from datetime import date, time, datetime

date_var = date(year=2022, month=10, day=17)
print(date_var)

time_var = time(hour=21, minute=18, second=17)
print(time_var)

datetime_var = datetime(year=2022, month=10, day=17, hour=21, minute=18, second=31)
print(datetime_var)

Результат:

>>> 2022-10-17
>>> 21:18:17
>>> 2022-10-17 21:18:31

Пояснение:

В этом коде мы импортировали каждый класс, из которых мы создали экземляры передавая определенные аргументы конструктору. Чтобы создавать данные экземпляры, Вам нужно обязательно передавать известные аргументы.

Методы данных классов:

  • date.today() создает экземпляр с текущей локальной датой.
  • datetime.now() создает экземпляр с текущей локальной датой и временем.
  • datetime.combine() объединяет экземпляры и в один экземпляр.

Рассмотрим пример с методами:

from datetime import date, time, datetime

today = date.today()
print(today)

now = datetime.now()
print(now)

current_time = time(now.hour, now.minute, now.second)
print(current_time)

combine_date = datetime.combine(today, current_time)
print(combine_date)

Результат:

>>> 2022-10-17
>>> 2022-10-17 21:24:27.515016
>>> 21:24:27
>>> 2022-10-17 21:24:27

Пояснение:

  • today - это экземпляр, который имеет только год, месяц и день.
  • now — это экземпляр, который имеет год, месяц, день, час, минуту, секунду и микросекунды.
  • current_time - экземпляр, для которого час, минута и секунда имеют те же значения, что и now.

Объект datetime может выводить время в удобном для нас строковом виде с помощью метода strftime()

Пример strftime():

from datetime import date, time, datetime

today = date.today()
print(today.strftime('%x'))

now = datetime.now()
print(now.strftime('%d %B %Y %H:%M:%S %p'))

current_time = time(now.hour, now.minute, now.second)
print(current_time.strftime('%H:%M:%S %p'))

combine_date = datetime.combine(today, current_time)

print(combine_date.strftime('%d %B %Y'))

Результат:

>>> 10/17/22
>>> 17 October 2022 21:34:11 PM
>>> 21:34:11 PM
>>> 17 October 2022

Таблица форматирования:

СимволОписаниеПример
%aДень недели, короткий вариантWed
%AБудний день, полный вариантWednesday
%wДень недели числом 0-6, 0 — воскресенье3
%dДень месяца 01-3131
%bНазвание месяца, короткий вариантDec
%BНазвание месяца, полное названиеDecember
%mМесяц числом 01-1212
%yГод, короткий вариант, без века18
%YГод, полный вариант2018
%HЧас 00-2317
%IЧас 00-1205
%pAM/PMPM
%MМинута 00-5941
%SСекунда 00-5908
%fМикросекунда 000000-999999548513
%zРазница UTC+0100
%ZЧасовой поясCST
%jДень в году 001-366365
%UНеделя числом в году, Воскресенье первый день недели, 00-5352
%WНеделя числом в году, Понедельник первый день недели, 00-5352
%cЛокальная версия даты и времениMon Dec 31 17:41:00 2018
%xЛокальная версия даты12/31/18
%XЛокальная версия времени17:41:00
%%Символ “%”%
Теги записи: Python, Основы Python, datetime,
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)