Модификаторы (коды) для описания формата даты и времени.
Ниже перечислены коды/директивы формата как из стандарта 1989 C (работают на всех платформах, реализующих стандарт), так и дополнительные (по ISO 8601).

Внимание
Коды по ISO 8601 при использовании strftime() могут быть недоступны на некоторых платформах. Директивы для года и недели по ISO 8601 не совместимы с аналогичными по 1989 С (ср. %G и %Y).

На заметку
Питон использует системную функцию strftime(), поэтому полный перечень поддерживаемых директив может разниться для разных платформ. На этой странице приведены основные. Полный список можно узнать, ознакомившись с документаций по strftime (debian).

%%Используется для получения символа %%
Дата и время
%cДата и время (по текущей локали)en_US: Thu 23 Jan 2020 20:40:33 AM +07; ru_RU: Чт 23 янв 2020 20:40:331
%xДата (по текущей локали)en_US: 01/23/2020; ru_RU: 23.01.20201
%XВремя (по текущей локали)en_US: 08:40:33 AM; ru_RU: 20:40:331
День
%dНомер в месяце (ведущий нуль)01, 02, 319
%jНомер в году (ведущий нуль)001, 002, 2669
Неделя
%UНомер в году, две цифры. Первый день недели: воскресенье (предш. дни года приходятся на неделю 0)00, 01, 537, 9
%WНомер в году, две цифры. Первый день недели: понедельник (предш. дни года приходятся на неделю 0)00, 01, 537, 9
%V+py3.6 ISO 8601. Номер в году, две цифры. Первый день недели: понедельник; неделя 01 содержит 4 января01, 02, 538, 9
%aКраткое название дня (по текущей локали)en_US: Sun, Mon; ru_RU: Вс, Пн1
Полное название дня (по текущей локали)en_US: Thursday; ru_RU: Четверг1
%wНомер дня, одна цифра (0 — воскресенье, 6 — суббота)0, 1, 6
%u+py3.6 ISO 8601. Номер дня, одна цифра (1 — понедельник)1, 2, 7
Месяц
%bКраткое название (по текущей локали)en_US: Jan, Feb; ru_RU: Янв, Фев1
%BПолное название (по текущей локали)en_US: January; ru_RU: Январь1
%mНомер, две цифры (ведущий нуль)01, 02, 129
Год
%yНомер, две цифры (ведущий нуль)01, 02, 999
%YНомер, четыре цифры (ведущий нуль)0001, 0002, 99992
%G+py3.6 ISO 8601. Номер, четыре цифры. Век включает бОльшую часть недели (см. %V)0001, 2017, 99998
Время
%HНомер часа, 24 часа, две цифры (ведущий нуль)01, 02, 239
%MНомер минуты, две цифры (ведущий нуль)00, 01, 599
%SНомер секунды, две цифры (ведущий нуль)00, 01, 594, 9
%f+py2.6 Номер микросекунды, шесть цифр (ведущий нуль)000000, 000001, 9999995
%zСмещение от UTC в формате ±HHMM[SS[.ffffff]]<пусто>, +0000, -0400, +1030, +063415, -030712.3452166
%ZИмя временной зоны<пусто>, UTC, EST, CST
%IНомер часа, 12 часов, две цифры (ведущий нуль)01, 02, 129
%pИндикатор половины суток AM/PM (по текущей локали)en_US: AM; ru_RU: ''1, 3

1. Поскольку формат зависит от текущей локали, он может меняться. Может меняться порядок полей. Вывод может включать символы в кодировке специфичной для текущей локали.

2. strptime() может разбирать годы диапазона [1, 9999] (начиная с +py3.3; в +py3.2 — [1000, 9999]; ранее — [1900, 9999]), однако годы < 1000 должны иметь четыре цифры с ведущими нулями.

3. При использовании strptime(), директива %p затрагивает вывод поля часа, если для разбора часа использовалась %I.

4. В противоположность модулю time, модуль datetime не поддерживает «скачущие» секунды.

5. При использовании strptime(), директива %f поддерживает от одной до шести цифр и дополнение нулями справа. %f — это расширение набора символов форматирования из стандарта C, реализованное для объектов datetime, а потому всегда доступное.

6. Для наивных объектов значение всегда <пусто>.

7. При использовании strptime(), директивы %U и %W используются в вычислениях только при указании дня недели и календарного года (%Y).

8. При использовании strptime(), директива %V, подобно %U и %W, используется в вычислениях только при указании дня недели и года по ISO (%G).

9. При использовании strptime(), для директив %d, %m, %H, %I, %M, %S, %J, %U, %W, %V ведущие нули необязательны. Для формата %y наличие ведущего нуля обязательно.
Синонимы поиска: Опции формата даты и времени
На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.