Open In App

Python DateTime – strptime() Function

Last Updated : 07 Aug, 2024
Comments
Improve
Suggest changes
Like Article
Like
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 codemeaningexample
%aAbbreviated weekday nameSun, Mon
%AFull weekday name Sunday, Monday
%wWeekday as decimal number0…6
%dDay of the month as a zero-padded decimal01, 02
%-dday of the month as decimal number1, 2..
%b Abbreviated month nameJan, Feb
%mmonth as a zero padded decimal number01, 02
%-mmonth as a decimal number1, 2
%B Full month nameJanuary, February
%yyear without century as a zero padded decimal number99, 00 
%-yyear without century as a decimal number0, 99
%Yyear with century as a decimal number2000, 1999
%Hhour(24 hour clock) as a zero padded decimal number01, 23
%-Hhour(24 hour clock) as a decimal number1, 23
%Ihour(12 hour clock) as a zero padded decimal number01, 12
%-Ihour(12 hour clock) as a decimal number1, 12
%plocale’s AM or PMAM, PM
%MMinute as a zero padded decimal number01, 59
%-MMinute as a decimal number1, 59
%SSecond as a zero padded decimal number01, 59
%-SSecond as a decimal number1, 59
%fmicrosecond as a decimal number, zero padded on the left side000000, 999999
%zUTC offset in the form +HHMM or -HHMM 
%ZTime zone name 
%jday of the year as a zero padded decimal number001, 365
%-jday of the year as a decimal number1, 365
%UWeek number of the year (Sunday being the first)0, 6
%WWeek number of the year00, 53
%clocale’s appropriate date and time representationMon Sep 30 07:06:05 2013
%xlocale’s appropriate date representation11/30/98
%Xlocale’s appropriate time representation10: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

Python
# 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.

Python
# 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:

Python
#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

Python
# 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

Python
# 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

Python
#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



Next Article
Article Tags :
Practice Tags :

Similar Reads