Python Datetime | strftime method
Start your free 7-days trial now!
Python’s datetime.strftime()
method converts a given date, time or datetime object into a string. strftime()
is read as string format time.
Parameters
1. format
| format code
The format of the string provided. Refer to the belowlink for list of valid format codes.
Return value
A string representing date, time or date and time.
Examples
To convert a date object given according to "%Y/%-m/%-d"
format to a string:
from datetime import date
#Initiate a date objectd = date(2020, 1, 3)
#Convert the date object to a stringstring_d = d.strftime("%Y/%-m/%-d")print(string_d)
2020/1/3
Note that adding a hyphen (-
) between the %
and m
, d
in the format string removes the leading zero from output string.
List of Format Codes
The below tables provides information of the various directives used for expressing date formats:
Directive | Meaning | Example |
---|---|---|
| Weekday as locale’s abbreviated name. | Sun, Mon, …, Sat (en_US); So, Mo, …, Sa (de_DE) |
| Weekday as locale’s full name. | Sunday, Monday, …, Saturday (en_US); Sonntag, Montag, …, Samstag (de_DE) |
| Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. | 0, 1, …, 6 |
| Day of the month as a zero-padded decimal number. | 01, 02, …, 31 |
| Month as locale’s abbreviated name. | Jan, Feb, …, Dec (en_US); Jan, Feb, …, Dez (de_DE) |
| Month as locale’s full name. | January, February, …, December (en_US); Januar, Februar, …, Dezember (de_DE) |
| Month as a zero-padded decimal number. | 01, 02, …, 12 |
| Year without century as a zero-padded decimal number. | 00, 01, …, 99 |
| Year with century as a decimal number. | 0001, 0002, …, 2013, 2014, …, 9998, 9999 |
| Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 23 |
| Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, …, 12 |
| Locale’s equivalent of either AM or PM. | AM, PM (en_US);am, pm (de_DE) |
| Minute as a zero-padded decimal number. | 00, 01, …, 59 |
| Second as a zero-padded decimal number. | 00, 01, …, 59 |
| Microsecond as a decimal number, zero-padded on the left. | 000000, 000001, …, 999999 |
| UTC offset in the form ±HHMM[SS[.ffffff]] (empty string if the object is naive). | (empty), +0000, -0400, +1030, +063415, -030712.345216 |
| Time zone name (empty string if the object is naive). | (empty), UTC, EST, CST |
| Day of the year as a zero-padded decimal number. | 001, 002, …, 366 |
| 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 |
| 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 |
| 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) |
| Locale’s appropriate date representation. | 08/16/88 (None);08/16/1988 (en_US);16.08.1988 (de_DE) |
| Locale’s appropriate time representation. | 21:30:00 (en_US);21:30:00 (de_DE) |
| A literal '%' character. | % |