Python的time模块及其各种时间相关函数
Python的time
模块提供了一系列与时间相关的函数,用于处理时间和日期。这个模块提供了访问和转换时间的多种方法,主要用于低级别的时间管理。以下是一些常用的time
模块函数:
基本函数
time.time()
- 返回当前时间的时间戳(自1970年1月1日以来的秒数)。这是一个浮点数。
import time
current_time = time.time()
print(current_time)
time.sleep(seconds)
- 让程序休眠指定的秒数。这在需要暂停或延迟程序执行时非常有用。
time.sleep(2) # 暂停程序2秒
time.ctime([secs])
- 将一个时间戳转换为一个可读的字符串形式的时间。如果不提供
secs
,则使用当前时间。
print(time.ctime()) # 获取当前时间的可读格式
print(time.ctime(1634567890)) # 时间戳转换为可读格式
- 将一个时间戳转换为一个可读的字符串形式的时间。如果不提供
格式化和解析时间
time.strftime(format[, t])
- 根据指定的格式化字符串返回一个格式化时间字符串。
t
是时间元组,如不提供则使用当前时间。
print(time.strftime("%Y-%m-%d %H:%M:%S"))
- 根据指定的格式化字符串返回一个格式化时间字符串。
time.strptime(string, format)
- 将一个格式化的时间字符串转换为时间元组。
time_tuple = time.strptime("2022-09-15 08:55:00", "%Y-%m-%d %H:%M:%S")
print(time_tuple)
时间元组与转换
time.localtime([secs])
- 将一个时间戳转换为当前本地时间的时间元组。如果不提供
secs
,则使用当前时间。
local_time = time.localtime()
print(local_time)
- 将一个时间戳转换为当前本地时间的时间元组。如果不提供
time.gmtime([secs])
- 类似于
localtime()
,但返回UTC时间的时间元组。
utc_time = time.gmtime()
print(utc_time)
- 类似于
time.mktime(t)
- 将一个本地时间元组转换为时间戳。这个函数是
localtime()
的逆向操作。
timestamp = time.mktime(local_time)
print(timestamp)
- 将一个本地时间元组转换为时间戳。这个函数是
高级时间函数
time.perf_counter()
- 返回一个高精度计时器的计数值,通常用于性能测量。
start = time.perf_counter()
# Some lengthy computation
end = time.perf_counter()
print(f"Computation took {end - start} seconds")
time.monotonic()
- 返回系统单调时钟的值,不会受系统时间更改的影响,适合用于测量时间间隔。
start = time.monotonic()
# Some operations
end = time.monotonic()
print(f"Operations took {end - start} seconds")
time.process_time()
- 返回当前进程的CPU执行时间,不包括睡眠时间。适合用于计算程序的CPU使用。
cpu_start = time.process_time()
# Some CPU-intensive operations
cpu_end = time.process_time()
print(f"CPU operations took {cpu_end - cpu_start} seconds")
这些函数为Python中的时间操作提供了强有力的支持,适用于各种时间计算、格式化、转换和性能测量任务。