一、strftime函数简介
在Python中,时间类操作是非常常见的,如输出当前时间、时间格式化等。其中,strftime函数是Python中时间操作的一个强大格式化工具,可以方便地将时间对象格式化为字符串。
strftime函数包含在Python自带的time模块中,它的作用是将时间类型转换为字符串类型。需要注意的是,strftime函数只支持datetime和time两种时间类型的格式化,date类型需要先转换为datetime类型。
二、strftime函数的用法
1. 格式化区分大小写
strftime函数的主要参数是格式字符串,格式字符串是由若干特定的字符和日期时间字段组成的。格式字符串中的大小写直接影响到最终结果,需要特别小心。以下是一些常见的格式化字符:
格式代码 结果 %a 本地星期缩写(如Sun) %A 本地星期全称(如Sunday) %b 本地简化月份缩写(如Jan) %B 本地完整月份名称(如January) %c 本地日期和时间表示法 %d 十进制表示的每月的第几天(01~31) %H 24小时制的小时数(00~23) %I 12小时制的小时数(01~12) %j 十进制表示的每年的第几天(001~366) %m 十进制表示的月份(01~12) %M 分钟数(00~59) %p 本地am或pm的相应符 %S 秒(01~61) %U 一年中的星期数(00~53,星期天是一个星期的第一天) %w 十进制表示的星期几(0为星期天,6为星期六) %W 和%U基本相同,不同的是%W以星期一为一个星期的第一天 %x 本地相应日期 %X 本地相应时间 %y 不带世纪的十进制表示的年份(00~99) %Y 带世纪部分的十进制表示的年份 %z,%Z 时区名称或缩写 %% %号本身
2. 格式化时间成字符串
使用strftime函数,首先要将时间类转换为时间戳,然后进行格式化。下面是一个例子:
import time # 将时间戳转换为日期格式 ticks = time.time() localtime = time.localtime(ticks) # 格式化时间成字符串 date_str = time.strftime("%Y-%m-%d %H:%M:%S", localtime) print(date_str)
输出结果:
2022-01-01 12:00:00
3. 字符串转换成时间
在Python中,我们可以使用strptime函数将字符串类型转换成时间类型。strptime函数的格式化字符串和strftime函数的格式化字符串基本一致,只是其中部分字符的意义有所不同。
下面是一个例子:
import time # 将时间字符串转换成时间类型 time_str = "2022-01-01 12:00:00" datetime_obj = time.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S") print(datetime_obj)
输出结果:
2022-01-01 12:00:00
三、总结
strftime函数是Python中时间格式化的一个很有用的函数,我们可以使用它来将时间类型转换成字符串类型。同时,我们还可以使用strptime函数将字符串类型转换成时间类型。需要注意的是格式化字符串中的大小写,不同的大小写可以影响到最终的结果。