Перетворення рядка в DateTime у Python
Робота з датами та часом є звичайним завданням у програмуванні, і Python пропонує потужний модуль datetime для обробки операцій, пов’язаних із датою та часом.
У цій статті ми збираємося перетворити рядок у форматі «рррр-мм-дд» (рррр-мм-дд означає рік-місяць-день) в об’єкт DateTime за допомогою Python.
приклад:
Input: '2023-07-25' Output: 2023-07-25 11:30:00 Explanation: In This, we are converting the string 'yyyy-mm-dd' to Datetime format in Python.
Примітка : Існує кілька способів запису дат у рядковому форматі, наприклад рррр-мм-дд, дд/мм/рррр тощо. За допомогою цих методів ми можемо змінити будь-який формат дати рядка на формат DateTime.
Як перетворити рядки на DateTime у Python?
Ми можемо перетворити рядок у DateTime, використовуючи різні підходи та методи. Виберіть відповідний метод на основі ваших вимог і акуратно обробляйте недійсні рядки дати, щоб забезпечити виконання вашого Python програми. Давайте розглянемо кожен метод нижче:
- Використання strptime()
- Використання dateutil.parser.parse()
- Використання datetime.strptime()
Перетворіть рядок Date на DateTime за допомогою strptime()
Ми можемо перетворити рядок дати на об’єкт DataTime за допомогою функція strptime(). від модуль datetime за допомогою Input(). Ми використаємо формат «%Y/%m/%d», щоб отримати рядок у DateTime.
приклад:
Python3
import> datetime> # datetime in string format for may 25 1999> input> => '2021/05/25'> format> => '%Y/%m/%d'> # convert from string format to datetime format> datetime> => datetime.datetime.strptime(> input> ,> format> )> # get the date from the datetime using date()> # function> print> (datetime.date())> |
Вихід:
2021-05-25
Перетворіть рядок на об’єкти DateTime у Python за допомогою dateutil.parser.parse()
Ми можемо конвертувати рядок дати у формат DateTime за допомогою функції dateutil.parser.parse() із бібліотеки dateutil. Він забезпечує більш гнучкий підхід до аналізу та перетворення рядків дати.
Python3
from> dateutil.parser> import> parse> def> convert_to_datetime(input_str, parserinfo> => None> ):> > return> parse(input_str, parserinfo> => parserinfo)> # Example usage> date_string> => '2023-07-25'> result_datetime> => convert_to_datetime(date_string)> print> (result_datetime)> |
Вихід:
2023-07-25 00:00:00
Детальніше: Використання dateutil для аналізу дат.
Перетворіть список рядкових дат на DateTime за допомогою datetime.strptime()
Ми можемо перетворити список рядкових дат на об’єкт DateTime за допомогою datetime.strptime() . Метод Python datetime.strptime() дозволяє розібрати рядок дати в заданому форматі та перетворити його на об’єкт datetime.
Python3
# import the datetime module> import> datetime> # datetime in string format for list of dates> input> => [> '2021/05/25'> ,> '2020/05/25'> ,> '2019/02/15'> ,> '1999/02/4'> ]> # format> format> => '%Y/%m/%d'> for> i> in> input> :> > > # convert from string format to datetime format> > # and get the date> > print> (datetime.datetime.strptime(i,> format> ).date())> |
Вихід:
2021-05-25 2020-05-25 2019-02-15 1999-02-04
Усунення помилок strptime().
strptime() дасть вам ValueError, якщо вхідний рядок не можна проаналізувати в заданому форматі.
Ви можете спробувати блоки «спробувати та виключити», щоб знайти можливе вирішення ValueError.
приклад:
Python3
from> datetime> import> datetime> # error as 2021 is not a leap year> date_string> => '2021-02-29'> date_format> => '%Y-%m-%d'> # Attempt to convert string to datetime> try> :> > date_object> => datetime.strptime(date_string, date_format)> > print> (date_object)> except> ValueError as e:> > print> (> 'Error:'> , e)> |
Вихід
Error: day is out of range for month
Ми розглянули різні методи перетворення рядка дати у формат DateTime у Python. Формат DateTime у Python дуже корисний під час роботи з даними як дати, як-от визначення кількості днів між 2 датами.
Дуже важливо зберігати дати у форматі DateTime, якщо вам потрібно виконувати операції з датою. Інтерпретатор розглядатиме рррр-мм-дд як рядок, якщо ви його не зміните, унеможливлюючи виконання Операція DateTime на ньому.
Схожі читання:
- Перетворення рядка на DateTime і навпаки в Python
- Керуйте датою та часом за допомогою модуля Datetime
- Створіть Python Datetime із рядка
- Робота з об’єктами Datetime і часовими поясами в Python