一、time模块的基本使用
time模块是Python处理时间的标准库之一,它提供了与时间相关的函数,包括获取当前时间、操作时间等。在使用前需要先导入time模块。
import time
获取当前时间的方式有两种:time.time()和time.localtime()。
time.time()返回当前时间的时间戳,即从1970年1月1日0时0分0秒到当前时间的秒数。可以通过将时间戳转换为年月日时分秒的格式来显示当前时间。
t1 = time.time()
t2 = time.localtime(t1)
current_time = time.strftime("%Y-%m-%d %H:%M:%S", t2)
print(current_time)
以上代码会输出形如“2021-10-26 18:28:38”的当前时间。
time.localtime()函数返回一个包含当前时间各个字段的元组,即年、月、日、时、分、秒等。可以通过元组的索引来获取相应的值。同时,time模块还提供了一个更加方便的函数time.localtime(time.time()),可以一次性获取当前时间的所有字段。
同时,time模块还提供其他函数,如将秒转换为时间字符串(time.ctime())、休眠(time.sleep())等。
二、ctime和mktime的用法
1. ctime函数
ctime函数将时间戳转换为表示时间的字符串,返回一个字符串表示时间,如“Fri Feb 24 10:16:45 2006”。
t = 1234567890
print(time.ctime(t))
以上代码会输出:“Fri Feb 13 23:31:30 2009”,表示t所表示的时间是2009年2月13日23点31分30秒。
2. mktime函数
mktime函数的作用与ctime函数相反,它将时间元组转换为对应的时间戳。
import time
time_tuple = (2019, 10, 29, 14, 50, 15, 1, 302, 0)
time_stamp = time.mktime(time_tuple)
print(time_stamp)
以上代码会输出:“1572331815.0”,表示元组(2019, 10, 29, 14, 50, 15, 1, 302, 0)对应的时间戳。
三、time模块的高级用法
1. datetime对象的使用
time模块中提供了一个datetime类,可以用于处理时间,它类似于time元组,但提供了更多的功能。
from datetime import datetime
now_time = datetime.now()
print(now_time)
以上代码会输出当前的日期和时间,形如“2021-10-26 15:12:05.316631”
datetime对象还提供了一些方便的函数,比如strftime()和strptime(),可以将datetime对象与字符串之间互相转换。
2. 时间戳之间的运算
在Python中,可以将两个时间戳相减,得到它们之间的时间差。
time1 = time.time()
time.sleep(10)
time2 = time.time()
delta_time = time2 - time1
print(delta_time)
以上代码会输出大约10秒的时间差。
3. 时间格式化
可以使用time模块中的strftime函数将时间戳或时间元组进行格式化输出。
t = time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", t))
以上代码会输出当前的UTC时间,形如“2021-10-26 10:17:08”。
总结
time模块是Python中处理时间的标准库之一,它提供了与时间相关的函数,包括获取当前时间、操作时间等。其中,mktime函数和ctime函数可以将时间戳与时间元组相互转换。此外,datetime类提供了更加丰富的功能,如将datetime对象与字符串相互转换。最后,通过时间戳之间的运算、时间格式化等操作,可以更加灵活地处理时间。