Сообщить об ошибке.

Функция strftime() модуля time в Python

Получение форматированной строки с датой и временем

Синтаксис:

import time

time.strftime(format[, t])

Параметры:

Возвращаемое значение:

Описание:

Функция 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Название часового пояса (без символов, если часовой пояс не существует).
%%Буквальный символ '%'.

Примечание:

  1. При использовании с функцией time.strptime() директива %p влияет только на час выходного поля, если для анализа часа используется директива %I.
  2. Диапазон действителен от 0 до 61. Значение 60 действительно в метках времени, представляющих високосные секунды, а значение 61 поддерживается по историческим причинам.
  3. При использовании с функцией 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'