How to convert String to Datetime object in Python?


Python String to Datetime

You can convert a Date and time string to Datetime object in Python.

datetime package contains methods in date, time and datetime classes to convert a string into date, time or datetime objects.

In this tutorial, we will convert a string to Datetime object using following methods.

  • datetime.datetime.fromisoformat()
  • datetime.date.fromisoformat()
  • datetime.time.fromisoformat()

Examples

1. Convert date and time string to datetime object

In this example, we shall take some of the possible ISO formatted strings for date and time, and convert them to datetime.datetime objects using datetime.datetime.fromisoformat(datetimeString) method.

Python Program

from datetime import datetime

dt1 = datetime.fromisoformat('2020-11-18')
print(type(dt1), dt1)

dt2 = datetime.fromisoformat('2020-11-18T00:05:23')
print(type(dt2), dt2)

dt3 = datetime.fromisoformat('2020-11-18 00:05:23.283')
print(type(dt3), dt3)

dt4 = datetime.fromisoformat('2020-11-18 00:05:23.283+00:00')
print(type(dt4), dt4)

dt5 = datetime.fromisoformat('2020-11-18T00:05:23+04:00')   
print(type(dt5), dt5)

Output

<class 'datetime.datetime'> 2020-11-18 00:00:00
<class 'datetime.datetime'> 2020-11-18 00:05:23
<class 'datetime.datetime'> 2020-11-18 00:05:23.283000
<class 'datetime.datetime'> 2020-11-18 00:05:23.283000+00:00
<class 'datetime.datetime'> 2020-11-18 00:05:23+04:00

After you convert a string to datetime object, you can access the individual parts of the date like year, month, time, etc., using strftime().

In the following program, we shall convert a string to datetime object and print hours, day of the week.

Python Program

from datetime import datetime

dt = datetime.fromisoformat('2020-11-18 17:05:23.283')

#print hours
print(dt.strftime("%H"))

#print weekday
print(dt.strftime("%A"))

Output

17
Wednesday

2. Convert date string to date object

In this example, we shall convert ISO formatted Date sting to datetime.date object using datetime.date.fromisoformat(datetimeString) method.

Python Program

from datetime import date

#convert string to date object
dateStr = '2020-11-18'
date1 = date.fromisoformat(dateStr)

#access date object
print(date1)
print(date1.strftime('%Y')) #year
print(date1.strftime('%B')) #month name
print(date1.strftime('%d')) #day of month

Output

<class 'datetime.date'> 2020-11-18
2020
November
18

3. Convert time string to time object

In this example, we shall take some of the possible ISO formatted time strings and convert them to datetime.time objects using datetime.time.fromisoformat(datetimeString) method.

Python Program

from datetime import time

time2 = time.fromisoformat('17:15:23')
print(type(time2), time2)

time3 = time.fromisoformat('17:15:23.283')
print(type(time3), time3)

time4 = time.fromisoformat('17:15:23.283+00:00')
print(type(time4), time4)

time5 = time.fromisoformat('17:15:23+04:00')   
print(type(time5), time5)

Output

<class 'datetime.time'> 17:15:23
<class 'datetime.time'> 17:15:23.283000
<class 'datetime.time'> 17:15:23.283000+00:00
<class 'datetime.time'> 17:15:23+04:00

Summary

In this tutorial of Python Examples, we learned how to convert a string to datetime object, with the help of well detailed examples.