Метод datetime.strptime() в Python

 4493

Метод strptime() створює об’єкт datetime з переданого рядка.

Примітка: Ви не зможете створити об’єкт datetime з будь-якого рядка. Рядок має бути певного формату.

Метод strptime() в Python

Розглянемо приклад використання методу strptime() в Python:

Результат:

date_string = 21 June, 2018
type of date_string = <class 'str'>
date_object = 2018-06-21 00:00:00
type of date_object = <class 'datetime.datetime'>

Як працює метод strptime()?

Метод strptime() класу datetime приймає два аргументи:

   рядок (який конвертується в об’єкт datetime);

   код формату.

На основі рядка, що використовується, та коду формату, метод повертає еквівалентний об’єкт datetime.

У прикладі вище:

Тут код формату:

   %d — означає день місяця (наприклад: 01, 02, ..., 31);

   %B — повна назва місяця (наприклад: January, February і т.д.);

   %Y — рік у чотирьох цифрах (наприклад: 2018, 2019 і т.д.).

Розглянемо приклад конвертації рядка в об’єкт datetime:

Результат:

Список кодів формату

У наступній таблиці є всі коди формату, які ми можемо вказати в методі strptime() в Python.

Код формату Значення Приклад
%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, … 12
%p Регіональний стандарт: AM або PM. 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 Локальні дата та час. Mon Sep 30 07:06:05 2013
%x Локальна дата. 09/30/13
%X Локальний час. 07:06:05
%% Літерал символу ‘%’. %

Помилка ValueError у методі strptime()

Якщо рядок (перший аргумент) та код формату (другий аргумент), передані у метод strptime() не збігаються, то виникне помилка ValueError. Наприклад:

Якщо ми запустимо програму, то отримаємо помилку:

ValueError: time data '12/11/2018' does not match format '%d %m %Y'

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (6 оцінок, середня: 5,00 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *