Даты в Python
В Python нет отдельного типа данных для дат. Вместо этого вы импортируете модуль datetime и работаете с датами как с объектами даты.
Пример
datetime и выведите текущие дату и время с помощью datetime.datetime.now().
Вывод: полная программа на Python
import datetime
x = datetime.datetime.now()
print(x)
Вывод даты
Вывод, который вы видите, получен при выполнении кода из предыдущего примера.
Такое значение даты состоит из года, месяца, дня, часа, минуты, секунды и микросекунды.
Многие методы модуля datetime могут рассказать об объекте даты больше.
Вот небольшой пример; остальная часть урока расскажет о них подробнее:
Пример
datetime и получите текущую дату.
Выведите год и название дня недели с помощью strftime("%A").
Вывод: полная программа на Python
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Создание объектов даты
Чтобы создать дату, вы вызываете класс datetime() — конструктор из модуля datetime.
Ему нужны три параметра: год, месяц и день.
Также можно передать значения времени и часового пояса (час, минута, секунда, микросекунда, tzinfo). Они необязательны и по умолчанию равны 0, а часовой пояс — None.
Пример
datetime и создайте объект даты для 17 мая 2020 года.
Используйте datetime.datetime(2020, 5, 17) и выведите его.
Вывод: полная программа на Python
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
Метод strftime()
Чтобы превратить объект даты в удобочитаемую строку, используйте метод объекта datetime.
Этот метод называется strftime(). Его единственный параметр, format, описывает, как должна выглядеть возвращаемая строка:
Вот коды формата, которые вы можете использовать:
%a- Краткое название дня недели (Wed)%A- Полное название дня недели (Wednesday)%w- Номер дня недели 0-6, воскресенье — 0 (3)%d- День месяца, 01-31 (31)%b- Краткое название месяца (Dec)%B- Полное название месяца (December)%m- Номер месяца, 01-12 (12)%y- Год из двух цифр, без века (18)%Y- Год из четырёх цифр (2018)%H- Час в 24-часовом формате, 00-23 (17)%I- Час в 12-часовом формате, 01-12 (05)%p- AM или PM (PM)%M- Минута, 00-59 (41)%S- Секунда, 00-59 (08)%f- Микросекунда, 000000-999999 (548513)%z- Смещение относительно UTC (+0100)%Z- Название часового пояса (CST)%j- День года, 001-366 (365)%U- Неделя года, 00-53, недели начинаются с воскресенья (52)%W- Неделя года, 00-53, недели начинаются с понедельника (52)%c- Дата и время в локальном формате (Mon Dec 31 17:41:00 2018)%C- Век (20)%x- Дата в локальном формате (12/31/18)%X- Время в локальном формате (17:41:00)%%- Символ % как есть (%)%G- Год ISO 8601 (2018)%u- Номер дня недели в ISO 8601, 1-7 (1)%V- Номер недели ISO 8601, 01-53 (01)
Пример
datetime и создайте объект даты для 1 июня 2018 года.
Используйте strftime("%B"), чтобы вывести полное название месяца.
Вывод: полная программа на Python
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))