本内容来自:https://gairuo.com
咱们知道,Python 的 date、datetime 和 time 对象都支持 strftime(format) 方法,可用来创建由一个显式格式字符串所控制的表示时间的字符串。datetime.strptime() 类会根据表示日期和时间的字符串和相应的格式字符串来创建一个 datetime 对象。那么怎么表示时间字符串的格式呢?本页进行了一次梳理,供日常备查。以下列表显示了 1989 版 C 标准所要求的全部格式代码,它们在带有标准 C 实现的所有平台上均可用。在 Ruby、Python、C 和 PHP 中格式化日期和时间。
代码
Python 内置时间类型:
from datetime import datetime
time = datetime.now()
time.strftime('%Y-%m-%d')
# '2021-01-28'
由字符转换:
from datetime import datetime
datetime.strptime('2021-01-28', '%Y-%m-%d')
# datetime.datetime(2021, 1, 28, 0, 0)
三方时间包均有类似操作。
常用
  | Code | 样例 | 
  | %Y-%m-%d | 2021-11-03 | 
  | %H:%M:%S | 06:39:21 | 
  | %l:%M %p | 6:39 AM | 
  | %B %e, %Y | November 3, 2021 | 
年
  | Code | 样例 | 说明 | 
  | %y | 21 或 08 | 不带世纪的年份,一位补 0,00-99 | 
  | %Y | 2021 | 带世纪的年份 | 
月
  | Code | 样例 | 说明 | 
  | %b | Nov | 月份缩写 | 
  | %B | November | 月份全写 | 
  | %m | 09 | 补0两位月份 | 
  | %-m | 9 或 12 | 不补0月份 | 
注:
- 月份缩写:Jan, Feb, Mar, Apr , May, Jun, Jul, Aug, Sept, Oct, Nov, Dec
- 月份全写:'January',  'February',  'March',  'April',  'May',  'June',  'July',  'August',  'September',  'October',  'November',  'December'
日
  | Code | 样例 | 说明 | 
  | %d | 09 | 补 0 的两位月份日期 | 
  | %-d | 9 或 12 | 不补 0 日期 | 
  | %j | 054 | 所在当年第几天,补0为三位 | 
  | %-j | 54 | 所在当年第几天,不补0 | 
  | %e | ' 4' | 不带前导0,但包含空格,共占两位 | 
周
  | Code | 样例 | 说明 | 
  | %a | Sun | 周缩写 | 
  | %A | Sunday | 周全名 | 
  | %w | 0 | 周序数,0 是星期日,6 是星期六 | 
  | %U | 04 | 所在当年第几周,补0为两位,周日始 | 
  | %W | 04 | 所在当年第几周,补0为两位,周一始 | 
注:
%U 和 %W 等新年中第一个星期日之前的所有日子都被视为在第0周
- %U星期日为一周的第一天
- %W星期一为一周的第一天
时
  | Strftime | 样例 | 说明 | 
  | %H | 07 | 24小时制补0时间 | 
  | %-H | 7 | 24小时制不补0时间 | 
  | %I | 07 | 12小时制补0时间 | 
  | %-I | 7 | 12小时制不补0时间 | 
  | %p | AM | 本地时间 AM 或者 PM 标识 | 
  | %P | am | 本地时间 am 或者 pm 标识 | 
分
  | Code | 样例 | 说明 | 
  | %M | 06 | 分钟补0为两位 | 
  | %-M | 6 | 不补0 | 
秒
  | Code | 样例 | 说明 | 
  | %S | 06 | 秒补0为两位 | 
  | %-S | 6 | 不补0 | 
毫秒/微秒
  | Code | 样例 | 说明 | 
  | %f | 000000 | 十进制微秒,在左边填充0 | 
时区
  | Code | 样例 | 说明 | 
  | %z | +0000 | UTC偏移量的形式为±HHMM[SS[.ffffffff]](如果对象是原始对象,则为空字符串) | 
  | %Z | UTC | 时区名称(如果对象是原始的,则为空字符串) | 
其他
  | Code | 样例 | 说明 | 
  | %c | Thu Jan 28 14:09:37 2021 | 区域设置的适当日期和时间表示形式 | 
  | %x | 01/28/21 | 区域设置的适当日期表示形式 | 
  | %X | 14:09:37 | 区域设置的适当时间表示 | 
  | %% | % | 文本“%”字符 | 
参考
- https://www.strfti.me (交互式)
- https://pyformat.info
- https://strftime.org
- https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
            更新时间:2021-11-04 22:36:24
            
                标签:python
            
                strftime