Python strftime ()
Python strftime()
В этой статье вы научитесь преобразовывать объекты даты, времени и даты и времени в их эквивалентную строку (с помощью примеров)
Видео:Дата и время в Python
strftime()
метод возвращает строку, представляющую дату и время, используя объект даты, времени или даты и времени.
Пример 1:преобразование даты и времени в строку с помощью функции strftime()
Приведенная ниже программа преобразует datetime
объект, содержащий текущую дату и время, в различные строковые форматы.
from datetime import datetime
now = datetime.now() # current date and time
year = now.strftime("%Y")
print("year:", year)
month = now.strftime("%m")
print("month:", month)
day = now.strftime("%d")
print("day:", day)
time = now.strftime("%H:%M:%S")
print("time:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)
Когда вы запустите программу, вывод будет примерно таким:
year: 2018 month: 12 day: 24 time: 04:59:31 date and time: 12/24/2018, 04:59:31
Здесь год , день , время и дата_время являются строками, тогда как now это datetime
объект.
Как работает функция strftime()?
В приведенной выше программе %Y
, %m
, %d
и т. д. являются кодами форматов. strftime()
Метод принимает один или несколько кодов формата в качестве аргумента и возвращает отформатированную строку на его основе.
- Мы импортировали
datetime
класс изdatetime
модуль. Это потому, что объектdatetime
класс может получить доступ кstrftime()
метод.
datetime
объект, содержащий текущую дату и время, хранится в now переменная.
strftime()
можно использовать для создания форматированных строк.
- Строка, которую вы передаете в
strftime()
метод может содержать более одного кода формата.
Пример 2. Создание строки из метки времени
from datetime import datetime
timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
print("Date time object:", date_time)
d = date_time.strftime("%m/%d/%Y, %H:%M:%S")
print("Output 2:", d)
d = date_time.strftime("%d %b, %Y")
print("Output 3:", d)
d = date_time.strftime("%d %B, %Y")
print("Output 4:", d)
d = date_time.strftime("%I%p")
print("Output 5:", d)
Когда вы запустите программу, вывод будет:
Date time object: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 5: 09AM<час>
Формат списка кодов
В таблице ниже показаны все коды, которые вы можете передать в strftime()
. метод.
Директива | Значение | Пример |
%a | Сокращенное название дня недели. | Вс, Пн, ... |
%A | Полное название дня недели. | Воскресенье, понедельник, ... |
%w | День недели в виде десятичного числа. | 0, 1, ..., 6 |
%d | День месяца в виде десятичного числа, дополненного нулями. | 01, 02, ..., 31 |
%-d | День месяца в виде десятичного числа. | 1, 2, ..., 30 |
%b | Сокращенное название месяца. | январь, февраль, ..., декабрь |
%B | Полное название месяца. | Январь, февраль, ... |
%m | Месяц в виде десятичного числа, дополненного нулями. | 01, 02, ..., 12 |
%-m | Месяц в виде десятичного числа. | 1, 2, ..., 12 |
%y | Год без века в виде десятичного числа, дополненного нулями. | 00, 01, ..., 99 |
%-y | Год без века в виде десятичного числа. | 0, 1, ..., 99 |
%Y | Год с веком в виде десятичного числа. | 2013, 2019 и т. д. |
%H | Час (24-часовой формат) в виде десятичного числа, дополненного нулями. | 00, 01, ..., 23 |
%-H | Час (24-часовой формат) в виде десятичного числа. | 0, 1, ..., 23 |
%I | Час (12-часовой формат) в виде десятичного числа, дополненного нулями. | 01, 02, ..., 12 |
%-I | Час (12-часовой формат) в виде десятичного числа. | 1, 2, ... 12 |
%p | Утреннее или вечернее время для региональных настроек. | AM, PM |
%M | Минуты в виде десятичного числа, дополненного нулями. | 00, 01, ..., 59 |
%-M | Минута в виде десятичного числа. | 0, 1, ..., 59 |
%S | Секунда как десятичное число, дополненное нулями. | 00, 01, ..., 59 |
%-S | Секунда в виде десятичного числа. | 0, 1, ..., 59 |
%f | Микросекунды в виде десятичного числа, дополненного нулями слева. | <тд>000000 - 999999тд>|
%z | Смещение UTC в формате +ЧЧММ или -ЧЧММ. | <тд> тд>|
%Z | Название часового пояса. | <тд> тд>|
%j | День года в виде десятичного числа, дополненного нулями. | 001, 002, ..., 366 |
%-j | День года в виде десятичного числа. | 1, 2, ..., 366 |
%U | Номер недели в году (воскресенье как первый день недели). Все дни нового года, предшествующие первому воскресенью, считаются нулевой неделей. | 00, 01, ..., 53 |
%W | Номер недели в году (понедельник как первый день недели). Все дни нового года, предшествующие первому понедельнику, считаются нулевой неделей. | 00, 01, ..., 53 |
%c | Соответствующее представление даты и времени в Locale. | Пн, 30 сентября, 07:06:05 2013 |
%x | Подходящее представление даты в Locale. | 30.09.13 |
%X | Соответствующее представление времени Locale. | 07:06:05 |
%% | Буквальный символ '%'. | % |
Пример 3. Подходящие дата и время для локали
from datetime import datetime
timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
d = date_time.strftime("%c")
print("Output 1:", d)
d = date_time.strftime("%x")
print("Output 2:", d)
d = date_time.strftime("%X")
print("Output 3:", d)
Когда вы запустите программу, вывод будет:
Output 1: Tue Jun 12 09:55:22 2018 Output 2: 06/12/18 Output 3: 09:55:22
Коды форматов %c
, %x
и %X
используются для соответствующего представления даты и времени локали.
Мы также рекомендуем вам проверить функцию Python strptime(). strptime()
метод создает datetime
объект из строки.
Python