📜  如何在 python 中使用 strftime 进行日期时间格式化(1)

📅  最后修改于: 2023-12-03 15:24:19.599000             🧑  作者: Mango

如何在 Python 中使用 strftime 进行日期时间格式化

在 Python 中,我们经常需要对日期时间进行格式化显示,比如将日期时间转换为字符串、显示仅日期或时间等等。Python 内置的时间模块 datetime 中提供了 strftime 方法,可以方便地进行日期时间格式化。

strftime 方法

strftime 方法用于将日期时间对象格式化为字符串。其语法如下:

datetime_object.strftime(format)

其中,datetime_object 为日期时间对象,format 为格式化字符串。该方法返回一个字符串,表示按照指定格式格式化后的日期时间。

格式化字符串

format 参数为格式化字符串,表示返回字符串的格式。下面列举一些常用的格式化字符:

| 格式化字符 | 描述 | | :--------- | :----------------------------------------------------------- | | %a | 星期的缩写形式(如 Mon,Tue,Wed 等) | | %A | 星期的全称(如 Monday,Tuesday,Wednesday 等) | | %b | 月份的缩写形式(如 Jan,Feb,Mar 等) | | %B | 月份的全称(如 January,February,March 等) | | %c | 日期和时间的字符串表示(如 2022-09-06 10:30:45 AM) | | %d | 日期的表示,以两位数形式显示(如 01,02,31 等) | | %H | 以 24 小时制显示小时数,以两位数形式显示(如 00,01,23 等) | | %I | 以 12 小时制显示小时数,以两位数形式显示(如 01,02,12 等) | | %j | 一年中的第几天,以三位数显示(如 001,365,366 等) | | %m | 月份,以两位数显示(如 01,02,12 等) | | %M | 分钟,以两位数形式显示(如 00,01,59 等) | | %p | AM 或 PM | | %S | 秒数,以两位数形式显示(如 00,01,59 等) | | %U | 一年中的第几个星期,以两位数显示(如 00,01,53 等),以周日为一周的开始 | | %w | 星期几,以数字形式显示,0 表示周日(如 0,1,6 等) | | %W | 一年中的第几个星期,以两位数显示(如 00,01,53 等),以周一为一周的开始 | | %x | 日期的字符串表示,不包括时间(如 2022-09-06) | | %X | 时间的字符串表示,不包括日期(如 10:30:45 AM) | | %y | 年份的表示形式,只显示后两位(如 00,99,22 等) | | %Y | 年份的表示形式,以四位数显示(如 1999,2000,2022 等) | | %Z | 时区的名称或缩写形式(如 CST,CDT,UTC 等) | | %% | 代表一个 % 符号 |

示例

下面给出一个使用 strftime 方法进行日期时间格式化的示例:

import datetime

# 获取当前时间
dt = datetime.datetime.now()

# 格式化显示
print(dt.strftime('%Y-%m-%d %H:%M:%S'))
print(dt.strftime('%Y年%m月%d日 %H时%M分%S秒'))
print(dt.strftime('%Y/%m/%d %p%I:%M:%S'))

输出结果如下:

2022-09-06 11:27:33
2022年09月06日 11时27分33秒
2022/09/06 AM11:27:33

可以看到,使用 strftime 方法可以方便地进行日期时间格式化。

总结

在 Python 中,使用 datetime 模块中的 strftime 方法可以方便地进行日期时间格式化,只需给出格式化字符串即可。在格式化字符串中,可以使用各种格式化字符来表示不同的日期时间部分。