Convert string to datetime in Python with timezone
Prerequisite: Datetime module
In this article, we will learn how to get datetime object from time string using Python.
To convert a time string into datetime object, datetime.strptime() function of datetime module is used. This function returns datetime object.
Syntax : datetime.strptime(date_string, format)
Parameters :
- date_string : Specified time string containing of which datetime object is required. **Required
- format : Abbreviation format of date_string
Returns : Returns the datetime object of given date_string
List of the acceptable format that can be passed to strptime():
Directive | Meaning | Output Format |
---|---|---|
%Y | Year in four digits | 2018, 2019 etc |
%m | Month as a zero-padded decimal number. | 01, 02, …, 12 |
%b | Month as locale’s abbreviated name. | Jan, Feb, …, Dec |
%d | Day of the month as a zero-padded decimal number. | 01, 02, …, 31 |
%H | Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 23 |
%I | Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, …, 12 |
%M | Minute as a zero-padded decimal number. | 00, 01, …, 59 |
%S | Second as a zero-padded decimal number. | 00, 01, …, 59 |
%f | Microsecond as a decimal number, zero-padded on the left. | 000000, 000001, …, 999999 |
%p | Locale’s equivalent of either AM or PM | AM, PM, am, pm |
%z | UTC offset in the form ±HHMM | +0000, -0400, +0530 |
%a | Abbreviated weekday name. | Sun, Mon, … |
Example 1: Converting datetime string to datetime
Python3
# Python3 code to demonstrate # Getting datetime object using a date_string # importing datetime module import datetime # datestring for which datetime_obj required date_string = '2021-09-01 15:27:05.004573 +0530' print ( "string datetime: " ) print (date_string) print ( "datestring class is :" , type (date_string)) # using strptime() to get datetime object datetime_obj = datetime.datetime.strptime( date_string, '%Y-%m-%d %H:%M:%S.%f %z' ) print ( "converted to datetime:" ) # Printing datetime print (datetime_obj) # Checking class of datetime_obj. print ( "datetime_obj class is :" , type (datetime_obj)) |
Output:
string datetime: 2021-09-01 15:27:05.004573 +0530 datestring class is : <class 'str'> converted to datetime: 2021-09-01 15:27:05.004573+05:30 datetime_obj class is : <class 'datetime.datetime'>
Example 2: Converting datetime string to datetime
Python3
# Python3 code to demonstrate # Getting datetime object using a date_string # importing datetime module import datetime # datestring for which datetime_obj required date_string = '2021-09-01 15:27:05' # using strptime() to get datetime object datetime_obj = datetime.datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S' ) # Printing datetime print (datetime_obj) |
Output:
2021-09-01 15:27:05
In this example, microseconds and time zone parts are removed from first example, so we need to remove microseconds and time zone abbreviations also from format string
Example 3: Converting datetime string to datetime
Python3
# Python3 code to demonstrate # Getting datetime object using a date_string # importing datetime module import datetime # datestring for which datetime_obj required date_string = 'Sep 01 2021 03:27:05 PM' # using strptime() to get datetime object datetime_obj = datetime.datetime.strptime(date_string, '%b %d %Y %I:%M:%S %p' ) # Printing datetime print (datetime_obj) |
Output:
2021-09-01 15:27:05