Python strftime()
In this article, you will learn to convert date, time and datetime objects to its equivalent string (with the help of examples)
The strftime()
method returns a string representing date and time using date, time or datetime object.
Example 1: datetime to string using strftime()
The program below converts a datetime
object containing current date and time to different string formats.
When you run the program, the output will something like be:
Here, year, day, time and date_time are strings, whereas now is a datetime
object.
How strftime() works?
In the above program, %Y
, %m
, %d
etc. are format codes. The strftime()
method takes one or more format codes as an argument and returns a formatted string based on it.
Example 2: Creating string from a timestamp
When you run the program, the output will be:
Format Code List
The table below shows all the codes that you can pass to the strftime()
method.
Directive | Meaning | Example |
| Abbreviated weekday name. | Sun, Mon, ... |
| Full weekday name. | Sunday, Monday, ... |
| Weekday as a decimal number. | 0, 1, ..., 6 |
| Day of the month as a zero-padded decimal. | 01, 02, ..., 31 |
| Day of the month as a decimal number. | 1, 2, ..., 30 |
| Abbreviated month name. | Jan, Feb, ..., Dec |
| Full month name. | January, February, ... |
| Month as a zero-padded decimal number. | 01, 02, ..., 12 |
| Month as a decimal number. | 1, 2, ..., 12 |
| Year without century as a zero-padded decimal number. | 00, 01, ..., 99 |
| Year without century as a decimal number. | 0, 1, ..., 99 |
| Year with century as a decimal number. | 2013, 2019 etc. |
| Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, ..., 23 |
| Hour (24-hour clock) as a decimal number. | 0, 1, ..., 23 |
| Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, ..., 12 |
| Hour (12-hour clock) as a decimal number. | 1, 2, ... 12 |
| Locale’s AM or PM. | AM, PM |
| Minute as a zero-padded decimal number. | 00, 01, ..., 59 |
| Minute as a decimal number. | 0, 1, ..., 59 |
| Second as a zero-padded decimal number. | 00, 01, ..., 59 |
| Second as a decimal number. | 0, 1, ..., 59 |
| Microsecond as a decimal number, zero-padded on the left. | 000000 - 999999 |
| UTC offset in the form +HHMM or -HHMM. | |
| Time zone name. | |
| Day of the year as a zero-padded decimal number. | 001, 002, ..., 366 |
| Day of the year as a decimal number. | 1, 2, ..., 366 |
| Week number of the year (Sunday as the first day of the week). 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). 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. | Mon Sep 30 07:06:05 2013 |
| Locale’s appropriate date representation. | 09/30/13 |
| Locale’s appropriate time representation. | 07:06:05 |
| A literal '%' character. | % |
Example 3: Locale's appropriate date and time
When you run the program, the output will be:
Format codes %c
, %x
and %X
are used for locale's appropriate date and time representation.
We also recommend you to check Python strptime(). The strptime()
method creates a datetime
object from a string.
Last updated