一、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开发者是非常重要的。