Format datetime to date python

Answer updated to Python 3.7 and more

Here is how you can turn a date-and-time object

(aka datetime.datetime object, the one that is stored inside models.DateTimeField django model field)

into a date object (aka datetime.date object):

from datetime import datetime #your date-and-time object # let's supposed it is defined as datetime_element = datetime(2020, 7, 10, 12, 56, 54, 324893) # where # datetime_element = datetime(year, month, day, hour, minute, second, milliseconds) # WHAT YOU WANT: your date-only object date_element = datetime_element.date()

And just to be clear, if you print those elements, here is the output :

print(datetime_element)

2020-07-10 12:56:54.324893


print(date_element)

2020-07-10

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 datetime

from datetime import datetime

datetime_str = "24AUG2001101010"

print("datetime string : {}".format(datetime_str))

datetime_obj = datetime.strptime(datetime_str,

                                 "%d%b%Y%H%M%S")

print(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 datetime

from datetime import datetime

datetime_str = "100201095407"

print("datetime string : {}".format(datetime_str))

datetime_obj = datetime.strptime(datetime_str,

                                 "%d%m%y%H%M%S")

print(datetime_obj)

date = datetime_obj.date()

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

from datetime import datetime

datetime_obj = datetime.now()

print(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

How do I convert a datetime to a specific date in Python?

Use datetime. strftime(format) to convert a datetime object into a string as per the corresponding format . The format codes are standard directives for mentioning in which format you want to represent datetime. For example, the %d-%m-%Y %H:%M:%S codes convert date to dd-mm-yyyy hh:mm:ss format.

How do I convert datetime to date?

To convert a datetime to a date, you can use the CONVERT() , TRY_CONVERT() , or CAST() function.

How do I format a date in YYYY

In Python, we can easily format dates and datetime objects with the strftime() function. For example, to format a date as YYYY-MM-DD, pass “%Y-%m-%d” to strftime(). If you want to create a string that is separated by slashes (“/”) instead of dashes (“-“), pass “%Y/%m/%d” to strftime().

What does date () do in Python?

The date class is used to instantiate date objects in Python. When an object of this class is instantiated, it represents a date in the format YYYY-MM-DD. Constructor of this class needs three mandatory arguments year, month and date.

Chủ đề