Python DateTime – strptime() Function
Last Updated :
06 Sep, 2021
strptime() is another method available in DateTime which is used to format the time stamp which is in string format to date-time object.
Syntax: datetime.strptime(time_data, format_data)
Parameter:
- time_data is the time present in string format
- format_data is the data present in datetime format which is converted from time_data using this function.
How strptime() works?
This function takes two arguments, a string in which some time is given and a format code, to change the string into, the string is changed to the DateTime object as per the list of codes given below.
Format codes
format code |
meaning |
example |
%a |
Abbreviated weekday name |
Sun, Mon |
%A |
Full weekday name |
Sunday, Monday |
%w |
Weekday as decimal number |
0…6 |
%d |
Day of the month as a zero-padded decimal |
01, 02 |
%-d |
day of the month as decimal number |
1, 2.. |
%b |
Abbreviated month name |
Jan, Feb |
%m |
month as a zero padded decimal number |
01, 02 |
%-m |
month as a decimal number |
1, 2 |
%B |
Full month name |
January, February |
%y |
year without century as a zero padded decimal number |
99, 00 |
%-y |
year without century as a decimal number |
0, 99 |
%Y |
year with century as a decimal number |
2000, 1999 |
%H |
hour(24 hour clock) as a zero padded decimal number |
01, 23 |
%-H |
hour(24 hour clock) as a decimal number |
1, 23 |
%I |
hour(12 hour clock) as a zero padded decimal number |
01, 12 |
%-I |
hour(12 hour clock) as a decimal number |
1, 12 |
%p |
locale’s AM or PM |
AM, PM |
%M |
Minute as a zero padded decimal number |
01, 59 |
%-M |
Minute as a decimal number |
1, 59 |
%S |
Second as a zero padded decimal number |
01, 59 |
%-S |
Second as a decimal number |
1, 59 |
%f |
microsecond as a decimal number, zero padded on the left side |
000000, 999999 |
%z |
UTC offset in the form +HHMM or -HHMM |
|
%Z |
Time zone name |
|
%j |
day of the year as a zero padded decimal number |
001, 365 |
%-j |
day of the year as a decimal number |
1, 365 |
%U |
Week number of the year (Sunday being the first) |
0, 6 |
%W |
Week number of the year |
00, 53 |
%c |
locale’s appropriate date and time representation |
Mon Sep 30 07:06:05 2013 |
%x |
locale’s appropriate date representation |
11/30/98 |
%X |
locale’s appropriate time representation |
10:03:43 |
%% |
A literal ‘%’ character |
% |
Example 1: Python program to read datetime and get all time data using strptime. Here we are going to take time data in the string format and going to extract hours, minutes, seconds, and milliseconds
Python3
from datetime import datetime
time_data = "25/05/99 02:35:5.523"
format_data = "%d/%m/%y %H:%M:%S.%f"
date = datetime.strptime(time_data, format_data)
print (date.microsecond)
print (date.hour)
print (date.minute)
print (date.second)
print (date)
|
Output:
523000
2
35
5
1999-05-25 02:35:05.523000
Example 2: Python code that uses strptime. Here we are going to take time data in the string format and going to extract the time stamp in “%d/%m/%y %H:%M:%S.%f” format.
Python3
from datetime import datetime
time_data = [ "25/05/99 02:35:8.023" , "26/05/99 12:45:0.003" ,
"27/05/99 07:35:5.523" , "28/05/99 05:15:55.523" ]
format_data = "%d/%m/%y %H:%M:%S.%f"
for i in time_data:
print (datetime.strptime(i, format_data))
|
Output:
1999-05-25 02:35:08.023000
1999-05-26 12:45:00.003000
1999-05-27 07:35:05.523000
1999-05-28 05:15:55.523000
we can get the time that follows a structure with all dates by using strptime() itself.
Syntax:
time.strptime(Timestamp, ‘%d/%m/%y %H:%M:%S’)
where Timestamp includes time and date
Example: Python code to get time in structure:
Python3
import time
print (time.strptime( '04/04/21 09:31:22' , '%d/%m/%y %H:%M:%S' ))
print (time.strptime( '05/04/21 09:00:42' , '%d/%m/%y %H:%M:%S' ))
print (time.strptime( '06/04/21 09:11:42' , '%d/%m/%y %H:%M:%S' ))
print (time.strptime( '07/04/21 09:41:12' , '%d/%m/%y %H:%M:%S' ))
|
Output:
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=4, tm_hour=9, tm_min=31, tm_sec=22, tm_wday=6, tm_yday=94, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=9, tm_min=0, tm_sec=42, tm_wday=0, tm_yday=95, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=6, tm_hour=9, tm_min=11, tm_sec=42, tm_wday=1, tm_yday=96, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=7, tm_hour=9, tm_min=41, tm_sec=12, tm_wday=2, tm_yday=97, tm_isdst=-1)
It is also possible to get the string datetime in yyyy-mm-dd datetime format. yyyy-mm-dd stands for year-month-day. We can convert string format to DateTime by using the strptime() function. We will use the ‘%Y/%m/%d’ format to get the string to datetime.
Syntax: datetime.datetime.strptime(input,format)
Parameter:
- input is the string datetime
- format is the format – ‘yyyy-mm-dd’
- datetime is the module
For this first, the module is imported and the input DateTime string is given. Now use strptime to get the required format and get the date from DateTime using date() function
Example 1: Python program to convert string datetime format to datetime
Python3
import datetime
input = '2021/05/25'
format = '%Y/%m/%d'
datetime = datetime.datetime.strptime( input , format )
print (datetime.date())
|
Output:
2021-05-25
Example 2: Convert list of string datetime to datetime
Python3
import datetime
input = [ '2021/05/25' , '2020/05/25' , '2019/02/15' , '1999/02/4' ]
format = '%Y/%m/%d'
for i in input :
print (datetime.datetime.strptime(i, format ).date())
|
Output:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
We can also display DateTime in “%d/%m/%Y %H:%M:%S” Format. For this, we are going to get the data in date-month-year hours:minutes;seconds format. So we have to take input datetime string and get this format
Syntax: datetime.strptime(input_date, “%d/%m/%Y %H:%M:%S”)
Parameter:
- datetime is the module
- input_date is the string datetime format
- strptime is used to convert input_date string into datetime
Example 3: Python program to get the string datetime into “%d/%m/%Y %H:%M:%S” Format
Python3
from datetime import datetime
date = "25/05/2021 02:35:15"
datetime_date = datetime.strptime(date, "%d/%m/%Y %H:%M:%S" )
print (datetime_date)
|
Output:
2021-05-25 02:35:15
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...