【Python】datetime フォーマットコード一覧

# 公式ドキュメント該当ページ (日本語)
https://docs.python.org/ja/3.8/library/datetime.html#strftime-and-strptime-behavior


# datetimeで使われるフォーマットコード一覧(C standard 1989, 1999 version)

| Directive | Meaning | Example | Notes |
|:--|:--|:--|:--|
| %a | Weekday as locale’s abbreviated name. | Sun, Mon, …, Sat (en_US);<br/>So, Mo, …, Sa (de_DE) | -1 |
| %A | Weekday as locale’s full name. | Sunday, Monday, …, Saturday (en_US);<br/>Sonntag, Montag, …, Samstag (de_DE) | -1 |
| %w | Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. | 0, 1, …, 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);<br/>Jan, Feb, …, Dez (de_DE) | -1 |
| %B | Month as locale’s full name. | January, February, …, December (en_US);<br/>Januar, Februar, …, Dezember (de_DE) | -1 |
| %m | Month as a zero-padded decimal number. | 01, 02, …, 12 |  |
| %y | Year without century as a zero-padded decimal number. | 00, 01, …, 99 |  |
| %Y | Year with century as a decimal number. | 0001, 0002, …, 2013, 2014, …, 9998, 9999 | -2 |
| %H | Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 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);<br/>am, pm (de_DE) | (1), (3) |
| %M | Minute as a zero-padded decimal number. | 00, 01, …, 59 |  |
| %S | Second as a zero-padded decimal number. | 00, 01, …, 59 | -4 |
| %f | Microsecond as a decimal number, zero-padded on the left. | 000000, 000001, …, 999999 | -5 |
| %z | UTC offset in the form ±HHMMSS[.ffffff]. | (empty), +0000, -0400, +1030, +063415, -030712.345216 | -6 |
| %Z | Time zone name (empty string if the object is naive). | (empty), UTC, EST, 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 | -7 |
| %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 | -7 |
| %c | Locale’s appropriate date and time representation. | Tue Aug 16 21:30:00 1988 (en_US);<br/>Di 16 Aug 21:30:00 1988 (de_DE) | -1 |
| %x | Locale’s appropriate date representation. | 08/16/88 (None);<br/>08/16/1988 (en_US);<br/>16.08.1988 (de_DE) | -1 |
| %X | Locale’s appropriate time representation. | 21:30:00 (en_US);<br/>21:30:00 (de_DE) | -1 |
| %% | A literal '%' character. | % |  |


# datetimeで使われるフォーマットコード一覧(Python3.6から追加されたもの)

| Directive | Meaning | Example | Notes |
|:--|:--|:--|--:|
| %G | ISO 8601 year with century representing the year that contains the greater part of the ISO week (%V). | 0001, 0002, …, 2013, 2014, …, 9998, 9999 | -8 |
| %u | ISO 8601 weekday as a decimal number where 1 is Monday. | 1, 2, …, 7 |  |
| %V | ISO 8601 week as a decimal number with Monday as the first day of the week. Week 01 is the week containing Jan 4. | 01, 02, …, 53 | -8 |


### Notes:

```

Because the format depends on the current locale, care should be taken when making assumptions about the output value. Field orderings will vary (for example, “month/day/year” versus “day/month/year”), and the output may contain Unicode characters encoded using the locale’s default encoding (for example, if the current locale is ja_JP, the default encoding could be any one of eucJP, SJIS, or utf-8; use locale.getlocale() to determine the current locale’s encoding).

The strptime() method can parse years in the full [1, 9999] range, but years < 1000 must be zero-filled to 4-digit width.

Changed in version 3.2: In previous versions, strftime() method was restricted to years >= 1900.

Changed in version 3.3: In version 3.2, strftime() method was restricted to years >= 1000.

When used with the strptime() method, the %p directive only affects the output hour field if the %I directive is used to parse the hour.

Unlike the time module, the datetime module does not support leap seconds.

When used with the strptime() method, the %f directive accepts from one to six digits and zero pads on the right. %f is an extension to the set of format characters in the C standard (but implemented separately in datetime objects, and therefore always available).

For a naive object, the %z and %Z format codes are replaced by empty strings.

For an aware object:

%z
utcoffset() is transformed into a string of the form ±HHMM[SS[.ffffff]], where HH is a 2-digit string giving the number of UTC offset hours, MM is a 2-digit string giving the number of UTC offset minutes, SS is a 2-digit string giving the number of UTC offset seconds and ffffff is a 6-digit string giving the number of UTC offset microseconds. The ffffff part is omitted when the offset is a whole number of seconds and both the ffffff and the SS part is omitted when the offset is a whole number of minutes. For example, if utcoffset() returns timedelta(hours=-3, minutes=-30), %z is replaced with the string '-0330'.

Changed in version 3.7: The UTC offset is not restricted to a whole number of minutes.

Changed in version 3.7: When the %z directive is provided to the strptime() method, the UTC offsets can have a colon as a separator between hours, minutes and seconds. For example, '+01:00:00' will be parsed as an offset of one hour. In addition, providing 'Z' is identical to '+00:00'.

%Z
If tzname() returns None, %Z is replaced by an empty string. Otherwise %Z is replaced by the returned value, which must be a string.

Changed in version 3.2: When the %z directive is provided to the strptime() method, an aware datetime object will be produced. The tzinfo of the result will be set to a timezone instance.

When used with the strptime() method, %U and %W are only used in calculations when the day of the week and the calendar year (%Y) are specified.

Similar to %U and %W, %V is only used in calculations when the day of the week and the ISO year (%G) are specified in a strptime() format string. Also note that %G and %Y are not interchangeable.
```

# 公式ドキュメント該当ページ (英語)
[datetime — Basic date and time types — Python 3.7.2 documentation](https://docs.python.org/3/library/datetime.html)