Skip to content
Related Articles
Open in App
Not now

Related Articles

Python | Convert string to DateTime and vice-versa

Improve Article
Save Article
Like Article
  • Last Updated : 16 Mar, 2023
Improve Article
Save Article
Like 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)

Example in python:

Approach:

Import the datetime module.
Create a datetime object with the desired date and time.
Define a format string that specifies how the datetime object should be formatted as a string.
Use the strftime() method of the datetime object to convert it to a string in the specified format. The strftime() method takes the format string as its argument.
Print the resulting string.

Python3




import datetime
 
# Create a datetime object
datetime_object = datetime.datetime(2022, 3, 14, 15, 30, 0)
 
# Define a format string
format_string = '%Y-%m-%d %H:%M:%S'
 
# Convert the datetime object to a string in the specified format
date_string = datetime_object.strftime(format_string)
 
# Print the resulting string
print(date_string)

Output

2022-03-14 15:30:00

The time complexity of this code is O(1), which means it takes a constant amount of time to execute regardless of the size of the input.

The auxiliary space of this code is also O(1), as it only stores a fixed number of variables regardless of the size of the input.


My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!