Python strftime() With Examples

Python strftime() function is present in datetime and time modules to create a string representation based on the specified format string.

Python strftime()

  • Python datetime module strftime() function and time module strftime() function behaves exactly the same. However, their syntax is slightly different.Python datetime module strftime() function syntax is:

    Python time module strftime() function syntax is:

    This function converts a tuple or struct_time object to a string as specified by the format argument. If ‘time_object’ is not provided, the current time as returned by localtime() is used. The format argument must be a string.
  • For time objects (datetime.time()), the format codes for the year, month, and day should not be used, as time objects have no such values. If they’re used anyway, 1900 is substituted for the year, and 1 for the month and day.
  • For date objects (datetime.date()), the format codes for hours, minutes, seconds, and microseconds should not be used, as date objects have no such values. If they’re used anyway, 0 is substituted for them.

Python strftime() format directives

Following table list outs the most commonly used formatting directive that can be used in format string.

Directive Description Example Output
%a Weekday as locale’s abbreviated name. Sun, Mon, …, Sat (en_US)
So, Mo, …, Sa (de_DE)
%A Weekday as locale’s full name. Sunday, Monday, …, Saturday (en_US)
Sonntag, Montag, …, Samstag (de_DE)
%w Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. 0, 1, 2, 3, 4, 5, 6
%d Day of the month as a zero-padded decimal number. 01, 02, …, 31
%b Month as locale’s abbreviated name. Jan, Feb, …, Dec (en_US)
Jan, Feb, …, Dez (de_DE)
%B Month as locale’s full name. January, February, …, December (en_US)
Januar, Februar, …, Dezember (de_DE)
%m Month as a zero-padded decimal number. 01, 02 … 12
%y Year without century as a zero-padded decimal number. 01, 02, … 99
%Y Year with century as a decimal number. 0001, 0002, … , 9999
%H Hour (24-hour clock) as a zero-padded decimal number. 01, 02, … , 23
%I Hour (12-hour clock) as a zero-padded decimal number. 01, 02, … , 12
%p Locale’s equivalent of either AM or PM. AM, PM (en_US)
am, pm (de_DE)
%M Minute as a zero-padded decimal number. 01, 02, … , 59
%S Second as a zero-padded decimal number. 01, 02, … , 59
%f Microsecond as a decimal number, zero-padded on the left. 000000, 000001, …, 999999
Not applicable with time module.
%z UTC offset in the form ±HHMM[SS] (empty string if the object is naive). (empty), +0000, -0400, +1030
%Z Time zone name (empty string if the object is naive). (empty), UTC, IST, CST
%j Day of the year as a zero-padded decimal number. 001, 002, …, 366
%U Week 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
%W Week 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
%c Locale’s appropriate date and time representation. Tue Aug 16 21:30:00 1988 (en_US)
Di 16 Aug 21:30:00 1988 (de_DE)
%x Locale’s appropriate date representation. 08/16/88 (None)
08/16/1988 (en_US)
16.08.1988 (de_DE)
%X Locale’s appropriate time representation. 21:30:00 (en_US)
21:30:00 (de_DE)
%% A literal ‘%’ character. %

Python strftime() example

datetime module

Let’s look at some examples of using strftime() function with datetime module.

Output:

time module

TimeZone

We know that the default datetime object doesn’t have timezone information, let’s see what is the output if we try to print its timezone.

Output: TimeZone:

Let’s see the output with time module object.

Output: TimeZone: IST

We can use pytz module to create a timezone aware datetime object.

Output: TimeZone: UTC

You can checkout complete python script and more Python examples from our GitHub Repository.

References: datetime strftime(), time strftime()

By admin

Leave a Reply

%d bloggers like this: