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

2028

Предыдущий урок: Модули 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

Тест на знание python

Что выведет этот код?
Что делает функция re.match()?
Что выведет этот код?
Какие операторы можно использовать со строками?
Если выполнить код ниже, каков будет результат?
Викиум