import time time.strftime(format[, t])
format
- строка формата,t
- кортеж или структура времени time.struct_time
.Функция strftime()
модуля time
преобразовывает кортеж или структуру времени time.struct_time
, представляющие время, возвращаемое time.gmtime()
или time.localtime()
в строку, указанную форматом format
.
Если аргумент t
не указан, используется текущее время, возвращаемое функцией time.localtime()
. Формат должен быть строкой. Если какое-либо поле в структуре t
находится вне допустимого диапазона, то вызывается исключение ValueError
.
Значение 0 является допустимым аргументом для любой позиции в именованном кортеже структуры. Если это некорректный параметр, то значение принудительно устанавливается на правильное.
Следующие директивы могут быть встроены в строку формата. Они отображаются без указания необязательной ширины поля и точности и заменяются указанными символами в результате работы time.strftime()
:
Директива | Смысл | Примечание |
%a | Сокращенное название дня недели. | |
%A | Полное название дня недели. | |
%b | Сокращенное название месяца в локали. | |
%B | Полное название месяца в локали. | |
%c | Соответствующая локали дата и время. | |
%d | День месяца в виде десятичного числа [01,31]. | |
%H | Час (24-часовой формат) в виде десятичного числа [00,23]. | |
%I | Час (12-часовой формат) в виде десятичного числа [01,12]. | |
%j | День года в виде десятичного числа [001,366]. | |
%m | Месяц как десятичное число [01,12]. | |
%M | Минута в виде десятичного числа [00,59]. | |
%p | Либо AM, либо PM в 12-часовом формате. | (1) |
%S | Секунды как десятичное число [00,61]. | (2) |
%U | Номер недели в году (воскресенье - первый день недели) в виде десятичного числа [00,53]. Все дни в новом году, предшествующем первому воскресенью, считаются на неделе 0. | (3) |
%w | День недели в виде десятичного числа [0 - воскресенье, 6]. | |
%W | Номер недели в году (понедельник - первый день недели) в виде десятичного числа [00,53]. Все дни в новом году, предшествующем первому понедельнику, считаются на неделе 0. | (3) |
%x | Соответствующее представление даты локали. | |
%X | Соответствующее время локали. | |
%y | Год без века как десятичное число [00,99]. | |
%Y | Год с веком как десятичное число. | |
%z | Смещение часового пояса, указывающее положительную или отрицательную разницу во времени относительно времени UTC/GMT в формате +ЧЧММ или -ЧЧММ, где Ч представляет цифры часа, а М представляет цифры минуты [-23:59, +23:59]. | |
%Z | Название часового пояса (без символов, если часовой пояс не существует). | |
%% | Буквальный символ '%'. |
Примечание:
time.strptime()
директива %p
влияет только на час выходного поля, если для анализа часа используется директива %I
.time.strptime()
директивы %U
и %W
используются только в вычислениях, когда указаны день недели и год.Формат даты, указанным в стандарте электронной почты RFC 2822.
>>> from time import gmtime, strftime >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) # 'Fri, 24 Apr 2020 16:22:54 +0000'
Формат даты для записи в базу данных.
>>> import time >>> time.strftime("%Y-%m-%d", time.localtime()) # '2020-04-24'
Человеческий формат даты, используемый в обиходе.
>>> import time >>> time.strftime("%d.%m.%Y г. %H:%M", time.localtime()) # '24.04.2020 г. 19:26'