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