In this article, we are going to see how to convert DateTime to date in Python. For this, we will use the strptime() method and Pandas module. This method is used to create a DateTime object from a string. Then we will extract the date from the DateTime object using the date() function and dt.date from Pandas in Python.
Method 1: Convert DateTime to date in Python using DateTime
Classes for working with date and time are provided by the Python Datetime module. Numerous capabilities to deal with dates, times, and time intervals are provided by these classes. Python treats date and DateTime as objects, so when you work with them, you’re really working with objects rather than strings or timestamps.
Syntax of strptime()
Syntax: datetime.strptime()
Parameters:
- arg: It can be integer, float, tuple, Series, Dataframe to convert into datetime as its datatype
- format: This will be str, but the default is None. The strftime to parse time, eg “%d/%m/%Y”, note that “%f” will parse all the way up to nanoseconds.
Example 1: Convert DateTime to date
In this example, We have created a datetime_str which is “24AUG2001101010”, and its format is “%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) |
Output:
datetime string : 24AUG2001101010 2001-08-24 10:10:10 2001-08-24
Example 2: Convert DateTime with a numeric date.
In this example, We have created a datetime_str which is “100201095407”, and its format is “%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) |
Output:
datetime string : 100201095407 2001-02-10 09:54:07 2001-02-10
Example 3: Convert DateTime with the current date.
In this example, we take the present date and time and extracted its date from the object.
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) |
Output:
2021-08-07 06:30:20.227879 2021-08-07
Method 2: Convert DateTime to date in Python using Pandas
Pandas provide a different set of tools using which we can perform all the necessary tasks on date-time data. Let’s try to understand with the examples discussed below.
Example:
The date value and the DateTime value are both displayed in the output using the print command. The DateTime values are first added to a column of a Pandas DataFrame. The DateTime value is then converted to a date value using the dt.date() function.
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) |
Output:
time 0 2022-7-16 11:05:00 1 2025-7-18 12:00:30 time 0 2022-07-16 1 2025-07-18