№22 Даты в Python / Уроки по Python для начинающих

Предыдущий урок: Модули Python

Дата в Python не является типом данных, но мы можем импортировать модуль с именем datetime для работы с датами в качестве объектов даты.
Импортируем модуль даты и времени и покажем текущую дату:

import datetime

x = datetime.datetime.now()
print(x)

Вывод:

2018-12-23 16:04:39.093712

Вывод даты

Дата содержит год, месяц, день, час, минуту, секунду и микросекунду.

У модуля datetime есть много методов для возврата информации об объекте даты.
Вот несколько примеров, о которых вы узнаете позже в этом уроке
Выведем год и день недели:

import datetime    
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))

Вывод:

2018
Sunday

Создание объектов даты

Чтобы создать дату, мы можем использовать класс datetime() — (конструктор) модуля datetime.

Для класса datetime() требуется три параметра: год, месяц, день.

import datetime    
x = datetime.datetime(2020, 5, 17)    
print(x)

Вывод:

2020-05-17 00:00:00

Класс datetime () также принимает параметры для часовой и временной зоны (час, минута, секунда, микросекунда, часовой пояс), но они являются необязательными и имеют стандартное значение 0 (None для часового пояса).

Метод strftime()

Объект datetime имеет метод форматирования объектов даты в читаемые строки.

Подробнее о работе со строками в python: Строки в python 3: методы, функции, форматирование

Метод называется strftime() и принимает один параметр format, чтобы указать формат возвращаемой строки.
Отобразим название месяца:

import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))

Вывод:

June

Таблица способов форматирования даты:

СимволОписаниеПример
%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
%%Символ “%”%

Далее: Модуль JSON