一、背景介绍
在日常编程中,日期和时间的格式化常常是不可避免的。Python内置的time模块提供了多种方法来操作时间,其中就包括了strftime函数,可以方便地将时间格式化输出。
二、time.strftime函数的用法
time.strftime函数的基本用法如下:
import time print(time.strftime(format_string))
其中,format_string是格式化字符串,用于定义输出的格式。strftime函数会返回一个格式化后的字符串,具体格式化方式由format_string指定。下面是一些常用的格式化指令:
- %Y:年份,如2022
- %m:月份,如01表示1月
- %d:日,如01表示1号
- %H:时,24小时制,如15表示下午3点
- %M:分,如30表示30分
- %S:秒,如45表示45秒
- %a:英文星期缩写,如Mon表示星期一
- %A:英文星期全称,如Monday表示星期一
- %b:英文月份缩写,如Jan表示1月
- %B:英文月份全称,如January表示1月
下面是一个简单的例子:
import time print(time.strftime("%Y-%m-%d %H:%M:%S"))
上面的代码会输出当前时间的年月日时分秒,格式为“年-月-日 时:分:秒”,例如:
2022-07-13 15:30:45
三、时间格式化示例
1. 格式化为日期时间字符串
假设我们有一个时间戳(以秒为单位),需要将它转化为可读性更好的日期时间字符串,可以使用下面的代码:
import time timestamp = 1626171902 datetime_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp)) print(datetime_str)
上面的代码会输出:“2021-07-13 10:38:22”,该字符串就是将时间戳格式化后得到的结果。
2. 格式化为时间戳
如果我们有一个日期时间字符串,需要将它转化为时间戳,可以使用下面的代码:
import time datetime_str = "2021-07-13 10:38:22" timestamp = time.mktime(time.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")) print(int(timestamp))
上面的代码会输出时间戳1626171902。
3. 格式化为星期几
假设我们需要将一个日期转化为星期几,可以使用下面的代码:
import time date_str = "2021-07-13" week = time.strftime("%A", time.strptime(date_str, "%Y-%m-%d")) print(week)
上面的代码会输出星期二。
总结
使用time.strftime函数可以方便地将时间格式化输出。在实际编程中,对时间进行格式化通常是比较常见的需求,掌握strftime的使用方法可以提高我们的编程效率。