您的位置:

Python中strftime函数用法详解

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