Дата и время Python
Даты Python
Дата в Python не является собственным типом данных, но мы можем импортировать модуль с именем datetime
для работы с датами как с объектами даты.
Пример
Импортируйте модуль datetime и отобразите текущую дату:
import datetime
x = datetime.datetime.now()
print(x)
Вывод даты
Когда мы выполним код из приведенного выше примера, результатом будет:
2022-01-29 15:55:20.797844
Дата содержит год, месяц, день, час, минуту, секунду и микросекунду.
Модуль datetime
имеет множество методов для возврата информации об объекте даты.
Вот несколько примеров, вы узнаете о них больше позже в этой главе:
Пример
Вернуть год и название дня недели:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Создание объектов даты
Для создания даты мы можем использовать datetime()
класс (конструктор)
datetime
модуля.
Класс datetime()
требует три параметра для создания даты: год, месяц, день.
Пример
Создайте объект даты:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
Класс datetime()
также принимает параметры для времени и часового пояса (час, минута, секунда, микросекунда, tzone), но они являются необязательными и имеют значение по умолчанию 0
, ( None
для часового пояса).
Метод strftime()
Объект datetime
имеет метод для форматирования объектов даты в читаемые строки.
Метод вызывается strftime()
и принимает один параметр,
format
чтобы указать формат возвращаемой строки:
Пример
Показать название месяца:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
Ссылка на все коды юридических форматов:
Directive | Description | Example | Try it |
---|---|---|---|
%a | Weekday, short version | Wed | |
%A | Weekday, full version | Wednesday | |
%w | Weekday as a number 0-6, 0 is Sunday | 3 | |
%d | Day of month 01-31 | 31 | |
%b | Month name, short version | Dec | |
%B | Month name, full version | December | |
%m | Month as a number 01-12 | 12 | |
%y | Year, short version, without century | 18 | |
%Y | Year, full version | 2018 | |
%H | Hour 00-23 | 17 | |
%I | Hour 00-12 | 05 | |
%p | AM/PM | PM | |
%M | Minute 00-59 | 41 | |
%S | Second 00-59 | 08 | |
%f | Microsecond 000000-999999 | 548513 | |
%z | UTC offset | +0100 | |
%Z | Timezone | CST | |
%j | Day number of year 001-366 | 365 | |
%U | Week number of year, Sunday as the first day of week, 00-53 | 52 | |
%W | Week number of year, Monday as the first day of week, 00-53 | 52 | |
%c | Local version of date and time | Mon Dec 31 17:41:00 2018 | |
%C | Century | 20 | |
%x | Local version of date | 12/31/18 | |
%X | Local version of time | 17:41:00 | |
%% | A % character | % | |
%G | ISO 8601 year | 2018 | |
%u | ISO 8601 weekday (1-7) | 1 | |
%V | ISO 8601 weeknumber (01-53) | 01 |