一、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函数将字符串类型转换成时间类型。需要注意的是格式化字符串中的大小写,不同的大小写可以影响到最终的结果。