Python strftime () - дата і час у рядок

У цій статті ви навчитеся перетворювати об’єкти дати, часу та дати та часу в їх еквівалентний рядок (за допомогою прикладів)

strftime()Метод повертає рядок , що представляє дату і час , використовуючи дату, час або DateTime об'єкта.

Приклад 1: datetime у рядок за допомогою 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) 

Коли ви запускаєте програму, результат буде приблизно таким:

 рік: 2018 місяць: 12 день: 24 час: 04:59:31 дата та час: 24.12.2018, 04:59:31 

Тут рік, день, час і дата_ час - це рядки, тоді як тепер це datetimeоб’єкт.

Як працює strftime ()?

У наведеній вище програмі, %Y, %m, і %dт.д. є кодами формату. strftime()Метод приймає один або кілька кодів формату в якості аргументу і повертає отформатированную рядок на його основі.

  1. Ми імпортували datetimeклас з datetimeмодуля. Це тому, що об’єкт datetimeкласу може отримати доступ до strftime()методу.
  2. datetimeОб'єкт , що містить поточну дату і час зберігається в даний змінної.
  3. strftime()Метод може бути використаний для створення форматованих рядків.
  4. Рядок, який ви передаєте 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) 

Коли ви запускаєте програму, результат буде:

 Об'єкт дати: 2018-06-12 09:55:22 Вихід 2: 06/12/2018, 09:55:22 Вихід 3: 12 червня, 2018 Вихід 4: 12 червня, 2018 Вихід 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 Година (цілодобовий годинник) як нульове десяткове число. 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 зміщення у формі + HHMM або -HHMM.
%Z Назва часового поясу.
%j День року як десяткове число, заповнене нулем. 001, 002,…, 366
%-j День року як десяткове число. 1, 2,…, 366
%U Номер тижня року (неділя як перший день тижня). Усі дні у новому році, що передують першій неділі, вважаються тижні 0. 00, 01, …, 53
%W Номер тижня року (понеділок як перший день тижня). Усі дні нового року, що передують першому понеділку, вважаються тижні 0. 00, 01, …, 53
%c Відповідне подання дати та часу в локалі. Пн 30 вересня 07:06:05 2013
%x Відповідне представлення дати в локалі. 30.09.13
%X Відповідне подання часу у локалі. 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) 

Коли ви запускаєте програму, результат буде:

 Результат 1: Вівторок, 12 червня 09:55:22, 2018 Вихід 2: 06/12/18 Вихід 3: 09:55:22 

Формат кодів %c, %xі %Xвикористовуються для відповідної дати і часу подання локалі.

Також рекомендуємо перевірити strptime Python (). strptime()Метод створює datetimeоб'єкт з рядка.

Цікаві статті...