当前位置:嗨网首页>书籍在线阅读

13-将datetime对象转换为字符串

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

17.4.3 将datetime对象转换为字符串

UNIX纪元时间戳和 datetime 对象对人类来说都不是很方便阅读。利用 strftime() 方法可以将 datetime 对象显示为字符串。( strftime() 方法名中的f表示格式,即format。)

strftime() 方法使用的指令类似于Python的字符串格式化。表17-1所示为完整的 strftime() 指令。

表17-1 完整的 `strftime()` 指令

| strftime指令 | 含义 | | :----- | :----- | :----- | :----- | | %Y | 带世纪的年份,例如 '2014' | | %y | 不带世纪的年份, '00''99' (1970至2069) | | %m | 数字表示的月份, '01''12' | | %B | 完整的月份,例如 'November' | | %b | 简写的月份,例如 'Nov' | | %d | 一月中的第几天, '01''31' | | %j | 一年中的第几天, '001''366' | | %w | 一周中的第几天, '0' (周日)至 '6' (周六) | | %A | 完整的周几,例如 'Monday' | | %a | 简写的周几,例如 'Mon' | | %H | 小时(24小时时钟), '00''23' | | %I | 小时(12小时时钟), '01''12' | | %M | 分, '00''59' | | %S | 秒, '00''59' | | %p | 'AM''PM' | | %% | 就是 '%' 字符 |

strftime() 传入一个定制的格式字符串,其中包含格式化指定(以及任何需要的斜线、冒号等)。 strftime() 将返回一个格式化的字符串,以表示 datetime 对象的信息。在交互式环境中输入以下代码:

>>> oct21st = datetime.datetime(2019, 10, 21, 16, 29, 0)
>>> oct21st.strftime('%Y/%m/%d %H:%M:%S')
'2019/10/21 16:29:00'
>>> oct21st.strftime('%I:%M %p')
'04:29 PM'
>>> oct21st.strftime("%B of '%y")
"October of '19"

这里,我们有一个 datetime 对象,它表示2019年10月21日下午4点29分,保存在 oct21st 中。向 strftime() 传入定制的格式字符串 '%Y/%m/%d %H:%M:%S ,并返回一个字符串,它包含以斜杠分隔的2019、10和21,以及以冒号分隔的16、29和00。传入 '%I:%M% p' 则返回 '04:29 PM' ,传入 "%B of '%y" 则返回 "October of '19" 。请注意, strftime() 不是以 datetime.datetime 开始的。