logo

Перетворення рядка на DateTime і навпаки в Python

Звичайна необхідність у багатьох додатках програмування – мати справу з датами та часом. Python має потужні інструменти та пакети, які спрощують перетворення дати та часу. У цій статті буде розглянуто, як ефективно маніпулювати та форматувати значення дати й часу Python шляхом перетворення Рядки для Datetime предметів і назад. Ми розділимо статтю на дві частини:

  • Python перетворює рядок на DateTime
  • Python перетворює дату і час на рядок

Як перетворити рядок на DateTime?

У Python користувачі іноді можуть вводити дату як рядок, через що ми не можемо виконувати з нею операції дати й часу. Такі операції, як різниця в часі, порівняння дат, робота з часовими поясами тощо, не можна виконувати над рядковими датами.



ядро java

Давайте розглянемо процес перетворення рядків у дати двома методами.

  Input:   Dec 4 2018 10:07 AM    Output:   2018-12-04 10:07:00   Explanation:   In this, we are converting the string to Date Time.>

1. Перетворіть String на Datetime за допомогою Datetime.Strptime()

The Strptime() доступний у дата, час і використовується для перетворення дати в час. Ця функція змінює задане рядок Datetime у потрібний формат.

приклад: Програма визначає функцію, яка перетворює дату й час, представлені як a рядок для дати та часу об’єкт, використовуючи потрібний формат. Перетворення виконується за допомогою методу datetime.strptime().



Python3






import> datetime> > # Function to convert string to datetime> def> convert(date_time):> >format> => '%b %d %Y %I:%M%p'> >datetime_str>=> datetime.datetime.strptime(date_time,>format>)> > >return> datetime_str> > date_time>=> 'Dec 4 2018 10:07AM'> print>(convert(date_time))> print>(>type>(convert(date_time)))>

>

>

Вихід:

2018-12-04 10:07:00 )>

2. Перетворіть рядок на дату і час за допомогою Модуль Dateutil

The Dateutil є стороннім модулем. Модуль Dateutil підтримує розбір дат у будь-якому рядковому форматі. Цей модуль надає внутрішні факти про поточні світові часові пояси. Розібрати() може конвертувати рядок Python у формат дати-часу. Єдиний використовуваний параметр – рядок.

приклад: Програма імпортує модуль аналізатора бібліотеки dateutil для конвертації рядок з датою та часом який має функцію для аналізу рядків дати та часу. Функція Parser.parse() автоматично розпізнає формат, який перетворює рядок 23 червня 2022 19:31 на об’єкт DateTime.

Python3




from> dateutil>import> parser> > DT>=> parser.parse(>'Jun 23 2022 07:31PM'>)> > print>(DT)> print>(>type>(DT))>

>

>

Вихід:

2022-06-23 19:31:00>

Детальніше: Створіть Python Datetime із рядка

Як перетворити Datetime на рядок?

Ви також можете перетворити DateTime на рядок для різних цілей, як-от звітування, спеціальне форматування або форматування для відображення. Давайте розглянемо різні методи перетворення datetime у рядок.

  Input:   2018-12-04 10:07:00    Output:   Dec 4 2018 10:07:00AM    Explanation:   In this, we are converting the datetime format to the string>

1. Перетворіть Datetime на String u співати Time.strftime()

Python strftime() функція присутня в дата, час модуль для створення представлення рядка на основі вказаного рядка формату. Ми використовуємо цей метод для перетворення datetime до рядка в Python.

Ще одна подібна функція доступна в модулі часу Python, який перетворює кортеж або об’єкт struct_time на рядок, як зазначено аргументом format.

приклад: Програма навернені Datetime до String і імпортує модуль часу Python, який пропонує функції для обробки дій, пов’язаних із часом. Функція convert() приймає кортеж datetime_str як вхідні дані, перетворює його на мітку часу за допомогою time.mktime(), а потім форматує мітку часу в представлення рядка, використовуючи наданий формат %b%d%Y%r.

Python3


умысел умисел



import> time> > # Function to convert string to datetime> def> convert(datetime_str):> >datetime_str>=> time.mktime(datetime_str)> >format> => '%b %d %Y %r'> >dateTime>=> time.strftime(>format>, time.gmtime(datetime_str))> >return> dateTime> > date_time>=> (>2018>,>12>,>4>,>10>,>7>,>00>,>1>,>48>,>0>)> print>(convert(date_time))> print>(>type>(convert(date_time)))>

>

>

Вихід:

Dec 04 2018 04:37:00 AM>

Часова складність: О(1)
Допоміжний простір: О(1)

Вивчайте більше: Як відформатувати дату за допомогою strftime() у Python

2. Перетворіть Datetime на String за допомогою Datetime

Переведіть модуль datetime до перетворити datetime на String використовуючи вказану дату й час, і створіть об’єкт datetime. Створіть рядок формату, який визначає вимоги до форматування для об’єкта datetime.

Щоб створити рядок у потрібному форматі, скористайтеся методом strftime() об’єкта DateTime. Рядок формату є аргументом для функції strftime().

приклад: Програма імпортує модуль datetime, який надає програмістам Python доступ до класів для роботи з датами та часом. Надані значення дати й часу, 14 березня 2022 р., 15:30:00, використовуються для створення об’єкта datetime. Об’єкт datetime перетворюється на рядкове представлення на основі рядка формату за допомогою методу strftime().

Python3




import> datetime> > datetime_object>=> datetime.datetime(>2022>,>3>,>14>,>15>,>30>,>0>)> > format_string>=> '%Y-%m-%d %H:%M:%S'> > # Convert the datetime object to a string in the specified format> date_string>=> datetime_object.strftime(format_string)> > print>(date_string)> print>(>type>(date_string))>

>

>

Вихід:

2022-03-14 15:30:00>

Часова складність: О(1)
Допоміжний простір: О(1)

У цій статті ми розглянули методи перетворення рядка в дату й час і навпаки. Перетворення дати-часу на рядки або навпаки може бути дуже корисним і зручним у програмуванні. Ви можете використовувати ці методи для перетворення datetime на рядки або навпаки.

Читайте також: