How to convert date to datetime in Python?

In this article, we will discuss how to convert a date to a datetime object in Python.

We use the combine method from the datetime module to combine a date and time object to create a datetime object.


The syntax of combine() method is as follows.



  • date is a date object.
  • time is a time object.

This method returns a datetime object which is the combination of the above two objects (date, time).

Converting a date object to datetime object

If we have a date object and don't have a time object, then you initialize the time object to a minimum using the datetime object (Minimum means at midnight i.e., 00:00:00).


In the below example code, we combine a date object is retrieved by using the today() method and we initialized the time object to minimum time (00:00:00) using the min.time() method. And combined these two objects by applying the datetime.combine() method.

from datetime import date from datetime import datetime my_date = print("The date object:",my_date) my_time = datetime.min.time() print("The time object:",my_time) my_datetime = datetime.combine(my_date, my_time) print("The combined datetime object:",my_datetime)


The output of the above code is as follows.

The date object: 2022-05-19
The time object: 00:00:00
The combined datetime object: 2022-05-19 00:00:00

When both date and time objects are given

Here, we initialize both date and time objects. And combine these into a datetime object using the combine method.


In this example, we will convert a datetime object when both date and time objects are given.

import datetime my_date = datetime.datetime(2012, 2, 12) print("The date object:",my_date) my_time = datetime.time(1, 30) print("The time object:",my_time) combined_datetime = my_date.combine(my_date, my_time) print("The combined datetime object:",combined_datetime)


The output of the above code is as follows;

The date object: 2012-02-12 00:00:00
The time object: 01:30:00
The combined datetime object: 2012-02-12 01:30:00

Using the datetime()

The datetime() constructor in python accepts year, month and date values as parameters and create a datetime object.

Pass the year, month and day values of the desired date object (as my_date.year, my_date.month, to this constructor to convert a date object to datetime object.


from datetime import date from datetime import datetime my_date = my_datetime = datetime(my_date.year, my_date.month, print(my_datetime)


2022-09-05 00:00:00

Learn more about the Python Date & Time? Go through our Python Date & Time Tutorial.

Updated on: 25-Aug-2023

30K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started