AppDividend
Latest Code Tutorials

How to Convert Python String to Date with Example

0

To convert a Python string to datetime, use the strptime() function. The strptime() method is available under datetime and time modules to parse the string to datetime and time objects.

Python String to Date

Python strptime() is an inbuilt method in its datetime class that is used to convert a string representation of the​ date/time to a date object.

Syntax

datetime.strptime(date_string, format)

Parameters

The strptime() function takes both the arguments that are mandatory and should be a string. The strptime() function is exactly the opposite of the strftime() function, which converts a datetime object to a string.

Example

# app.py

from datetime import datetime

dt_str = '27/10/20 05:23:20'

dt_obj = datetime.strptime(dt_str, '%d/%m/%y %H:%M:%S')

print("The type of the date is now",  type(dt_obj))
print("The date is", dt_obj)

Output

The type of the date is now <class 'datetime.datetime'>
The date is 2020-10-27 05:23:20

The datetime.strptime() is a general method for parsing strings into datetimes. It can handle all sorts of formats, with the format defined by the format string you give.

Convert Python String to datetime using dateutil

The dateutil can be installed from PyPI using the pip package manager.

To convert String to datetime, import dateutil package and use the parser module.

# app.py

from dateutil import parser

dt_str = '27/10/20 05:23:20'

dt_obj = parser.parse(dt_str)

print("The type of the date is now",  type(dt_obj))
print("The date is", dt_obj)

Output

The type of the date is now <class 'datetime.datetime'>
The date is 2020-10-27 05:23:20

Python String to date object

We can use date() function alongwith strptime() function to convert string to date object.

# app.py

from datetime import datetime

date_str = '10-27-2020'

dto = datetime.strptime(date_str, '%m-%d-%Y').date()
print(type(dto))
print(dto)

Output

<class 'datetime.date'>
2020-10-27

The strptime() function will not work if the string argument is not consistent with the format parameter.

Convert String to Datetime with locale

To set a locale in Python, import the locale package in your Python program. The locale.setlocale() method is used to set the locale.

# app.py

import locale
from datetime import datetime

locale.setlocale(locale.LC_ALL, 'es_ES')
date_str_es = '27-Octubre-2020'  # es_ES locale
datetime_object = datetime.strptime(date_str_es, '%d-%B-%Y')
print(datetime_object)

Output

2020-10-27 00:00:00

That is it for converting a string to date in Python.

See also

Python Date Format

Python date_range()

Python to_datetime()

Python convert datetime to String

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.