Skip to content
Related Articles

Related Articles

Python | Convert string to DateTime and vice-versa

Improve Article
Save Article
  • Last Updated : 09 Sep, 2022
Improve Article
Save Article

Write a Python program to convert a given string to DateTime in Python. 

Below are the methods that we will cover in this article:

Method 1: Program to convert string to DateTime using datetime.strptime() function. 

strptime() is available in DateTime and time modules and is used for Date-Time Conversion. This function changes the given string of datetime into the desired format. 

Examples:

Input : Dec 4 2018 10:07AM 
Output : 2018-12-04 10:07:00

Input : Jun 12 2013 5:30PM 
Output : 2013-06-12 17:30:00

Syntax of strptime function

datetime.strptime(date_string, format)

The arguments date_string and format should be of string type. 

Python3




import datetime
 
# Function to convert string to datetime
def convert(date_time):
    format = '%b %d %Y %I:%M%p'  # The format
    datetime_str = datetime.datetime.strptime(date_time, format)
 
    return datetime_str
 
 
# Driver code
date_time = 'Dec 4 2018 10:07AM'
print(convert(date_time))


Output:

2018-12-04 10:07:00

Time Complexity: O(1)
Auxiliary Space: O(1)

Method 2: Program to convert DateTime to string using time.strftime

Python strftime() function is present in datetime and time modules to create a string representation based on the specified format string. 

Examples:

Input : 2018-12-04 10:07:00  
Output : Dec 4 2018 10:07:00AM 

Input : 2013-06-12 17:30:00Jun 12 2013 5:30PM 
Output : Jun 12 2013 5:30:00PM 

Syntax of strftime function 

datetime_object.strftime(format_str)

Time Complexity: O(1)
Auxiliary Space: O(1)

Another similar function is available in time module which converts a tuple or struct_time object to a string as specified by the format argument. 

Python3




import time
 
# Function to convert string to datetime
def convert(datetime_str):
    datetime_str = time.mktime(datetime_str)
     
    format = "%b %d %Y %r" # The format
    dateTime = time.strftime(format, time.gmtime(datetime_str))
    return dateTime
 
# Driver code
date_time = (2018, 12, 4, 10, 7, 00, 1, 48, 0)
print(convert(date_time))


Output:

Dec 04 2018 10:07:00 AM

Time Complexity: O(1)
Auxiliary Space: O(1)

Method 3: Program to convert DateTime to string using dateutil module

The dateutil is a third-party module. The parsing of dates in any string format is supported by the dateutil module. Internal facts about current world time zones are provided by this module. With the release of dateutil 2.0, it was recently adapted to Python 3, along with the parser functions. parse() can be used to convert a string into date-time format. The only parameter used is the string.

Syntax of dateutil.parser.parse function

parser.parse(parserinfo=None, **kwargs)

Python3




from dateutil import parser
 
DT = parser.parse("Jun 23 2022 07:31PM")
 
print(DT)
print(type(DT))


Output:

2022-06-23 19:31:00
<class 'datetime.datetime'>

Time Complexity: O(1)
Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!