一、strftime()函数介绍
Python中的strftime()函数是用来格式化日期的,它可以将时间元组转换为字符串,并按照指定的格式进行输出。
import time
# 获取当前时间
localtime = time.localtime(time.time())
print("本地时间为 :", localtime)
# 转换为格式化字符串
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", localtime)
print("格式化后的本地时间为:", formatted_time)
上面的代码中,我们先使用time模块获取当前的时间元组localtime
,然后将其按照指定的格式("%Y-%m-%d %H:%M:%S"
)转换为字符串formatted_time
,并输出到控制台。运行结果如下:
本地时间为 : time.struct_time(tm_year=2021, tm_mon=8, tm_mday=28, tm_hour=23, tm_min=36, tm_sec=51, tm_wday=5, tm_yday=240, tm_isdst=0)
格式化后的本地时间为: 2021-08-28 23:36:51
可以看到,格式化后的本地时间已经按照指定的格式进行输出了。
二、strftime()函数的格式化符号
strftime()函数支持的格式化符号有很多,下面列出常用的一些:
%Y
:年份,例如2021%m
:月份,01~12%d
:日,01~31%H
:小时,00~23%M
:分钟,00~59%S
:秒,00~59%a
:星期几的简写,例如Sun%A
:星期几的全写,例如Sunday%b
:月份的简写,例如Jan%B
:月份的全写,例如January%c
:默认的日期和时间表示法,例如Sat Aug 28 23:36:51 2021%p
:上午/下午,例如AM%Z
:时区,例如UTC%j
:一年中的第几天,001~366%U
:一年中的第几周,以第一个星期日为第一天,00~53%W
:一年中的第几周,以第一个星期一为第一天,00~53 下面的代码列举了常用格式化符号的使用方法:
import time
# 获取当前时间
localtime = time.localtime(time.time())
print(time.strftime("%Y-%m-%d %H:%M:%S", localtime)) # 2021-08-28 23:36:51
print(time.strftime("%a, %d %b %Y %H:%M:%S %Z", localtime)) # Sat, 28 Aug 2021 23:36:51 UTC
print(time.strftime("%I:%M:%S %p", localtime)) # 11:36:51 PM
print(time.strftime("%j", localtime)) # 240
print(time.strftime("%U", localtime)) # 34
运行结果如下:
2021-08-28 23:36:51
Sat, 28 Aug 2021 23:36:51 UTC
11:36:51 PM
240
34
三、strftime()函数的其他用途
除了将日期转换为指定格式之外,strftime()函数还有其他的用途。
一、将字符串转换为时间元组
import time
# 将字符串转换为时间元组
date_string = "2021-08-28 23:36:51"
time_tuple = time.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(time_tuple)
# 转换为时间戳
timestamp = time.mktime(time_tuple)
print(timestamp)
上面的代码中,我们将一个字符串date_string
转换为时间元组time_tuple
,并输出到控制台。然后将其转换为时间戳timestamp
,并输出到控制台。运行结果如下:
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=28, tm_hour=23, tm_min=36, tm_sec=51, tm_wday=5, tm_yday=240, tm_isdst=-1)
1630211811.0
二、计算时间差距
import time
# 计算时间差距
start_time = time.strptime("2021-08-28 23:00:00", "%Y-%m-%d %H:%M:%S")
end_time = time.strptime("2021-08-29 01:00:00", "%Y-%m-%d %H:%M:%S")
diff = int(time.mktime(end_time) - time.mktime(start_time))
print("时间差距为:", diff, "秒")
上面的代码中,我们计算了2021年8月28日23:00:00和2021年8月29日01:00:00之间的时间差距,并输出到控制台。运行结果如下:
时间差距为: 7200 秒
四、总结
strftime()函数是Python中用来格式化日期的函数,它可以将时间元组转换为字符串。我们可以使用strftime()函数来指定格式化符号来输出不同的格式。除此之外,strftime()函数还可以将字符串转换为时间元组,计算时间差距等。 在日常开发中,我们经常需要对日期进行格式化输出、计算时间差距等操作,所以说掌握strftime()函数的用法对于Python开发者是非常重要的。