How do i convert a string to a date in python?

How do i convert a string to a date in python?
Educative Answers Team

Python provides the strptime() method, in its datetime class, to convert a string representation of the​ date/time into a date object.

Syntax

The syntax for the strptime() method is:

Code

The code snippet below illustrates the usage of the strptime() method in Python:

from datetime import datetime

date_time_str = '18/09/19 01:55:19'

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

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

print ("The date is", date_time_obj)

The strptime() method will not work if the string argument is not consistent with the format parameter. This is shown below​:

from datetime import datetime

date_time_str = '180919 015519'

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

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

print ("The date is", date_time_obj)

How do i convert a string to a date in python?

The strptime() method is available under datetime and time modules to parse the string to datetime and time objects.

To convert string to datetime in Python, use the strptime() method. The strptime() is a built-in method of datetime class used to convert a string representation of the​ date/time to a datetime object.

Syntax

datetime.strptime(date_string, format)

Parameters

The strptime() function takes both mandatory arguments 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.

Converting string to datetime using dateutil

The dateutil can be installed from PyPI using the pip package manager. Import the dateutil package and use the parser module to convert string to datetime.

# 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

To convert string to date object in Python, use the date() function with the strptime() function.

# 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.

How to set locale in Python

To set a locale in Python, import the locale package in your program and then use the locale.setlocale() method 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 datetime in a Python article.

See also

Python datetime to string

Python Date Format

How do I convert text to date in Python?

Convert Python String to Date: Python's strptime Function.
from datetime import datetime..
date_string = '2021-12-31'.
datetime = datetime. strptime(date_string, '%Y-%m-%d').
print(datetime).
# Returns: 2021-12-31 00:00:00..

How do I convert a string to a date object?

Let's see the simple code to convert String to Date in java..
import java.text.SimpleDateFormat;.
import java.util.Date;.
public class StringToDateExample1 {.
public static void main(String[] args)throws Exception {.
String sDate1="31/12/1998";.
Date date1=new SimpleDateFormat("dd/MM/yyyy").parse(sDate1);.

Can we convert string to date?

Convert the String to Date using LocalDate. parse() method. If converted successfully, then print the Date. If the String pattern is invalid, then IllegalArgumentException is thrown.

How do I convert a string to a date in a specific format?

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy", Locale. ENGLISH); String dateInString = "7-Jun-2013"; Date date = formatter. parse(dateInString); In the above example, we first need to construct a SimpleDateFormat object by passing the pattern describing the date and time format.