[929] datetime format (strftime() and strptime() Format Codes)
ref: strftime() and strptime() Format Codes
The following is a list of all the format codes that the 1989 C standard requires, and these work on all platforms with a standard C implementation.
Type |
Directive |
Meaning |
Example |
Notes |
---|---|---|---|---|
Weekday |
|
Weekday as locale's abbreviated name. |
Sun, Mon, Tue, Wed, Thu, Fri, Sat
|
(1) |
|
Weekday as locale's full name. |
Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
|
(1) |
|
|
Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. |
0, 1, 2, 3, 4, 5, 6 |
||
Day |
|
Day of the month as a zero-padded decimal number. |
01, 02, 03, 04, 05,..., 10, 11,12, ...,29, 30, 31 |
(9) |
Month |
|
Month as locale's abbreviated name. |
Jan, Feb, …, Jul, Aug, ..., Nov, Dec
|
(1) |
|
Month as locale's full name. |
January, February, …, November, December
|
(1) |
|
|
Month as a zero-padded decimal number. |
01, 02, …, 07, 08, ..., 11, 12 |
(9) |
|
Year |
|
Year without century as a zero-padded decimal number. |
00, 01, …, 50, 51, ..., 98, 99 |
(9) |
|
Year with century as a decimal number. |
0001, 0002, …, 2013, 2014, …, 9998, 9999 |
(2) |
|
Hour |
|
Hour (24-hour clock) as a zero-padded decimal number. |
00, 01, …, 10, 11, ..., 22, 23 |
(9) |
|
Hour (12-hour clock) as a zero-padded decimal number. |
01, 02, …, 7, 8, ..., 11, 12 |
(9) |
|
|
Locale's equivalent of either AM or PM. |
AM, PM (en_US)
|
(1), (3) |
|
Minute |
|
Minute as a zero-padded decimal number. |
00, 01, …, 24, 25, ..., 58, 59 |
(9) |
Second |
|
Second as a zero-padded decimal number. |
00, 01, …, 24, 25, ..., 58, 59 |
(4), (9) |
|
|
Microsecond as a decimal number, zero-padded to 6 digits. |
000000, 000001, …, 999999 |
(5) |
|
|
UTC offset in the form |
(empty), +0000, -0400, +1030, +063415, -030712.345216 |
(6) |
|
|
Time zone name (empty string if the object is naive). |
(empty), UTC, GMT |
(6) |
|
|
Day of the year as a zero-padded decimal number. |
001, 002, …, 366 |
(9) |
|
|
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 |
(7), (9) |
|
|
Week number of the year (Monday as the first day of the week) as a zero-padded decimal number. All days in a new year preceding the first Monday are considered to be in week 0. |
00, 01, …, 53 |
(7), (9) |
|
|
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)
|
(1) |
|
|
Locale's appropriate date representation. |
08/16/88 (None);
08/16/1988 (en_US);
16.08.1988 (de_DE)
|
(1) |
|
|
Locale's appropriate time representation. |
21:30:00 (en_US);
21:30:00 (de_DE)
|
(1) |
Examples:
from datetime import datetime
dt = datetime.now().date()
dt
# output
# datetime.date(2023, 11, 1)
datetime.strftime(dt, "%d-%b-%Y %A")
# output
# '01-Nov-2023 Wednesday'
datetime.strftime(dt, "%d/%m/%Y")
# output
# '01/11/2023'
date_str = "2021-11-1"
datetime.strptime(date_str, "%Y-%m-%d")
# output
# datetime.datetime(2021, 11, 1, 0, 0)
date_str = "2021/11/01"
datetime.strptime(date_str, "%Y/%m/%d")
# output
# datetime.datetime(2021, 11, 1, 0, 0)