Open In App

Python DateTime – strptime() Function

Last Updated : 06 Sep, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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




# import datetime module from datetime
from datetime import datetime
 
# consider the time stamp in string format
# DD/MM/YY H:M:S.micros
time_data = "25/05/99 02:35:5.523"
 
# format the string in the given format :
# day/month/year hours/minutes/seconds-micro
# seconds
format_data = "%d/%m/%y %H:%M:%S.%f"
 
# Using strptime with datetime we will format
# string into datetime
date = datetime.strptime(time_data, format_data)
 
# display milli second
print(date.microsecond)
 
# display hour
print(date.hour)
 
# display minute
print(date.minute)
 
# display second
print(date.second)
 
# display date
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




# import datetime module from datetime
from datetime import datetime
 
# consider the time stamps from a list  in string
# format DD/MM/YY H:M:S.micros
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 the string in the given format : day/month/year 
# hours/minutes/seconds-micro seconds
format_data = "%d/%m/%y %H:%M:%S.%f"
 
# Using strptime with datetime we will format string
# into datetime
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
import time
 
# get data of 4 th april 2021  at time 9 pm
print(time.strptime('04/04/21 09:31:22', '%d/%m/%y %H:%M:%S'))
 
# get data of 5 th april 2021  at time 9 pm
print(time.strptime('05/04/21 09:00:42', '%d/%m/%y %H:%M:%S'))
 
# get data of 6 th april 2021  at time 9 pm
print(time.strptime('06/04/21 09:11:42', '%d/%m/%y %H:%M:%S'))
 
# get data of 7 th april 2021  at time 9 pm
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 the datetime module
import datetime
 
# datetime in string format for may 25 1999
input = '2021/05/25'
 
# format
format = '%Y/%m/%d'
 
# convert from string format to datetime format
datetime = datetime.datetime.strptime(input, format)
 
# get the date from the datetime using date()
# function
print(datetime.date())


Output:

2021-05-25

Example 2: Convert list of string datetime to datetime

Python3




# import the datetime module
import datetime
 
# datetime in string format for list of dates
input = ['2021/05/25', '2020/05/25', '2019/02/15', '1999/02/4']
 
# format
format = '%Y/%m/%d'
for i in input:
   
    # convert from string format to datetime format
    # and get the date
    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




#import datetime
from datetime import datetime
 
# consider the datetime string in dd/mm/yyyy
# hh:mm:ss format
date = "25/05/2021 02:35:15"
 
# convert string datetime to  dd/mm/yyyy hh:mm:ss
# format
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
Previous
Next
Share your thoughts in the comments

Similar Reads