Skip to content

Python string to datetime | strptime() Example code

  • by

Use strptime() function to convert string to datetime in Python. This method is a class method in datetime class.

Syntax

datetime.strptime(date_string, format)

Convert string to datetime Python example

Simple example code. datetime.strptime is the main routine for parsing strings into datetimes. It can handle all sorts of formats, with the format determined by a format string you give it:

String to datetime

from datetime import datetime

str1 = '09/09/18 12:15:20'

dt = datetime.strptime(str1, '%m/%d/%y %H:%M:%S')

print(type(dt))
print(dt)

Output:

Python string to datetime

String to date object

from datetime import datetime

str1 = '09/09/2021'

d = datetime.strptime(str1, '%m/%d/%Y').date()

print(d)

Output: 2021-09-09

String to time object

from datetime import datetime

str1 = '12::50::16'
t = datetime.strptime(str1, '%H::%M::%S').time()

print(t)

Output: 12:50:16

Python strptime() format directives

DirectiveDescriptionExample Output
%aWeekday is the locale’s abbreviated name.Sun, Mon, …, Sat (en_US)
So, Mo, …, Sa (de_DE)
%AWeekday as locale’s full name.Sunday, Monday, …, Saturday (en_US)
Sonntag, Montag, …, Samstag (de_DE)
%wA weekday is a decimal number, where 0 is Sunday and 6 is Saturday.0, 1, 2, 3, 4, 5, 6
%dDay of the month as a zero-padded decimal number.01, 02, …, 31
%bMonth as locale’s abbreviated name.Jan, Feb, …, Dec (en_US)
Jan, Feb, …, Dez (de_DE)
%BMonth as locale’s full name.January, February, …, December (en_US)
Januar, Februar, …, Dezember (de_DE)
%mMonth as a zero-padded decimal number.01, 02 … 12
%yThe year without century as a zero-padded decimal number.01, 02, … 99
%YThe year with century as a decimal number.0001, 0002, … , 9999
%HHour (24-hour clock) as a zero-padded decimal number.01, 02, … , 23
%IHour (12-hour clock) as a zero-padded decimal number.01, 02, … , 12
%pLocale’s equivalent of either AM or PM.AM, PM (en_US)
am, pm (de_DE)
%MMinute as a zero-padded decimal number.01, 02, … , 59
%SThe second is a zero-padded decimal number.01, 02, … , 59
%fMicrosecond as a decimal number, zero-padded on the left.000000, 000001, …, 999999
Not applicable with time module.
%zUTC offset in the form ±HHMM[SS] (empty string if the object is naive).(empty), +0000, -0400, +1030
%ZTime zone name (empty string if the object is naive).(empty), UTC, IST, CST
%jDay of the year as a zero-padded decimal number.001, 002, …, 366
%UWeek number of the year (Sunday as the first day of the week) as a zero-padded decimal number.
All days in a new year preceding the first Sunday are considered to be in week 0.
00, 01, …, 53
%WWeek number of the year (Monday as the first day of the week) as a decimal number.
All days in a new year preceding the first Monday are considered to be in week 0.
00, 01, …, 53
%cLocale’s appropriate date and time representation.Tue Aug 16 21:30:00 1988 (en_US)
Di 16 Aug 21:30:00 1988 (de_DE)
%xLocale’s appropriate date representation.08/16/88 (None)
08/16/1988 (en_US)
16.08.1988 (de_DE)
%XLocale’s appropriate time representation.21:30:00 (en_US)
21:30:00 (de_DE)
%%A literal ‘%’ character.%

Do comment if you have any doubts and suggestions on this Python string datetime topic.

Note: IDE: PyCharm 2021.3.3 (Community Edition)

Windows 10

Python 3.10.1

All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.

Leave a Reply

Your email address will not be published. Required fields are marked *