English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете, как преобразовать объекты date, time и datetime в эквивалентные им строки (через примеры)
Метод strftime() используетdate,timeилиdatetimeОбъект возвращает строку, представляющую дату и время.
Ниже приведен пример программы, которая преобразует объект datetime, содержащий текущую дату и время, в строку другого формата.
from datetime import datetime now = datetime.now() # текущая дата и время year = now.strftime("%Y") print("Год:", year) month = now.strftime("%m") print("Месяц:", month) day = now.strftime("%d") print("День:", day) time = now.strftime("%H:%M:%S") print("Время:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("Дата и время:", date_time)
Когда вы запустите программу, вывод будет выглядеть следующим образом:
Год: 2020 Месяц: 04 День: 13 Время: 17:35:22 Дата и время: 04/13/2020, 17:35:22
Здесь,year,day,timeиdate_timeявляется строкой, аnowявляется объектом datetime.
В указанном выше программном коде %Y, %m, %d и т.д. являются форматировочными кодами. Метод strftime() принимает один или несколько форматировочных кодов в качестве параметров и возвращает форматированную строку на основе этих кодов.
Мы импортировали класс datetime из модуля datetime. Это потому, что объекты класса datetime могут доступа к методу strftime().
Объект datetime, содержащий текущую дату и время, хранится вnowв переменной.
Метод strftime() можно использовать для создания форматированных строк.
Строка, переданная вам в метод strftime(), может содержать несколько форматировочных кодов.
from datetime import datetime timestamp = 1578797322 date_time = datetime.fromtimestamp(timestamp) print("Дата и время объекта:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Вывод 2:", d) d = date_time.strftime("%d %b, %Y") print("Вывод 3:", d) d = date_time.strftime("%d %B, %Y") print("Вывод 4:", d) d = date_time.strftime("%I%p") print("Вывод 5:", d)
При выполнении программы вывод будет следующим:
Объект даты и времени: 2020-01-12 10:48:42 Вывод 2: 01/12/2020, 10:48:42 Вывод 3: 12 Jan, 2020 Вывод 4: 12 January, 2020 Вывод 5: 10AM
Таблица显示了您可以传递给strftime()方法的全部代码。
Инструкция | Значение | Например |
%a | Аббревиатура дня недели. | Sun, Mon, ... |
%A | Полное имя дня недели. | Sunday, Monday, .. |
%w | Рабочий день, представленное десятичным числом. | 0, 1, ..., 6 |
%d | День месяца, десятичный символ, заполненный нулями. | 01, 02, ..., 31 |
%-d | День месяца, представленное десятичным числом. | 1, 2, ..., 30 |
%b | Аббревиатура месяца. | Jan, Feb, ..., Dec |
%B | Полное имя месяца. | January, February, ... |
%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 2 |
%p | Утро или послеобеденное время в языковой среде. | AM, PM |
%M | Минуты, десятичный символ, заполненный нулями. | 00, 01, ..., 59 |
%-M | Представлено в виде десятичного числа. | 0, 1, ..., 59 |
%S | Второй десятичный символ, заполненный нулями. | 00, 01, ..., 59 |
%-S | Второй десятичный символ. | 0, 1, ..., 59 |
%f | Микросекунда, десятичное число, добавляется ноль слева. | 000000-999999 |
%z | UTC смещение, формат + HHMM или - HHMM. | |
%Z | Название часового пояса. | |
%j | День в году, представленный десятичным числом с нулевым заполнением. | 001, 002, ..., 366 |
%-j | День в году, представленный десятичным числом. | 1, 2, ..., 366 |
%U | Номер недели в году (воскресенье - первый день недели). Все дни до первого воскресенья в новом году считаются первой неделей. | 00, 01, ..., 53 |
%W | Номер недели в году (понедельник - первый день недели). Все дни до первого понедельника в новом году считаются первой неделей. | 00, 01, ..., 53 |
%c | Соответствующее представление даты и времени в языковой среде. | Mon Sep 30 07:06:05 2019 |
%x | Соответствующее представление даты в языковой среде. | 13/9/30 |
%X | Соответствующее представление времени в языковой среде. | 07:06:05 |
%% | Символ "%". | % |
from datetime import datetime timestamp = 1578797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Вывод 1:", d) d = date_time.strftime("%x") print("Вывод 2:", d) d = date_time.strftime("%X") print("Вывод 3:", d)
При выполнении программы вывод будет следующим:
Вывод: 1: Sun Jan 12 10:48:42 2020 Вывод: 2: 01/12/20 Вывод: 3: 10:48:42
Форматные коды %c, %x и %X используются для соответствующего представления даты и времени в языковой среде.
Мы также рекомендуем вам проверитьstrptime() в PythonМетод strptime() создает объект datetime из строки.