Як перетворити дату і час на дату в Python
У цій статті ми побачимо, як перетворити DateTime на дату в Python. Для цього ми будемо використовувати метод strptime() і модуль Pandas. Цей метод використовується для створення об’єкта DateTime із рядка. Потім ми витягнемо дату з об’єкта DateTime за допомогою функція date(). і dt.date від Pandas в Python.
Спосіб 1. Перетворення DateTime на дату в Python за допомогою DateTime
Заняття для роботи з датою та часом передбачені в Python Datetime модуль. Ці класи надають численні можливості роботи з датами, часом і часовими інтервалами. Python розглядає дату та DateTime як об’єкти, тому, коли ви працюєте з ними, ви справді працюєте з об’єктами, а не з рядками чи мітками часу.
Синтаксис strptime()
Синтаксис: datetime.strptime()
Параметри:
arg: Це може бути ціле число, float, tuple, Series, Dataframe для перетворення в datetime як формат типу даних: це буде str, але за умовчанням None. Strftime для аналізу часу, наприклад, %d/%m/%Y, зауважте, що %f аналізуватиме аж до наносекунд.
приклад 1: Перетворення DateTime на дату
У цьому прикладі ми створили datetime_str, який є 24 СЕРПНЯ 2001101010 р , і його формат %d%b%Y%H%M%S.
Python3
# import important module> import> datetime> from> datetime> import> datetime> # Create datetime string> datetime_str> => '24AUG2001101010'> print> (> 'datetime string : {}'> .> format> (datetime_str))> # call datetime.strptime to convert> # it into datetime datatype> datetime_obj> => datetime.strptime(datetime_str,> > '%d%b%Y%H%M%S'> )> # It will print the datetime object> print> (datetime_obj)> # extract the time from datetime_obj> date> => datetime_obj.date()> print> (date)> |
Вихід:
datetime string : 24AUG2001101010 2001-08-24 10:10:10 2001-08-24
приклад 2: Перетворення DateTime на числову дату.
У цьому прикладі ми створили datetime_str, який є 100201095407 , і його формат %d%m%y%H%M%S .
Python3
# import important module> import> datetime> from> datetime> import> datetime> # Create datetime string> datetime_str> => '100201095407'> print> (> 'datetime string : {}'> .> format> (datetime_str))> # call datetime.strptime to convert> # it into datetime datatype> datetime_obj> => datetime.strptime(datetime_str,> > '%d%m%y%H%M%S'> )> # It will print the datetime object> print> (datetime_obj)> # extract the time from datetime_obj> date> => datetime_obj.date()> # it will print date that we have> # extracted from datetime obj> print> (date)> |
Вихід :
datetime string : 100201095407 2001-02-10 09:54:07 2001-02-10
приклад 3: Перетворення DateTime на поточну дату.
У цьому прикладі ми беремо поточну дату й час і вилучаємо їх дату з об’єкта.
Python3
# import important module> from> datetime> import> datetime> # call datetime.strptime to> # convert it into datetime datatype> datetime_obj> => datetime.now()> # It will print the datetime object> print> (datetime_obj)> # extract the time from datetime_obj> date> => datetime_obj.date()> print> (date)> |
Вихід:
2021-08-07 06:30:20.227879 2021-08-07
Спосіб 2: Перетворення DateTime на дату в Python за допомогою Pandas
Pandas надає інший набір інструментів, за допомогою яких ми можемо виконувати всі необхідні завдання з датою та часом. Спробуємо розібратися на прикладах, наведених нижче.
приклад:
Значення дати та значення DateTime відображаються у вихідних даних за допомогою команди друку. Значення DateTime спочатку додаються до стовпця Pandas DataFrame. Потім значення DateTime перетворюється на значення дати за допомогою функції dt.date().
Python3
import> pandas as pd> df> => pd.DataFrame({> 'time'> : [> '2022-7-16 11:05:00'> ,> > '2025-7-18 12:00:30'> ]})> print> (df)> df[> 'time'> ]> => pd.to_datetime(df[> 'time'> ]).dt.date> print> (df)> |
Вихід:
time 0 2022-7-16 11:05:00 1 2025-7-18 12:00:30 time 0 2022-07-16 1 2025-07-18