Pythontime模块详解(常用函数实例讲解)
了解time模块
time模块是python标准库中的一个模块,用于处理和表示时间。它提供了各种操作时间和日期的函数,包括获取当前时间、将时间格式化为字符串、获取时间戳、睡眠等待、计算时间差等功能。
常用时间函数
1. 获取当前时间
可以使用time模块的time()函数获取当前系统时间的时间戳,用于记录和计算时间差等操作。
import time
timestamp = time.time()
print(timestamp) # 输出:1613360875.1311202
2. 将时间戳转换为时间元组
时间戳通常难以阅读和理解,可以使用gmtime()函数将时间戳转换为时间元组,便于人类理解。
import time
timestamp = time.time()
time_tuple = time.gmtime(timestamp)
print(time_tuple) # 输出:time.struct_time(tm_year=2021, tm_mon=2, tm_mday=15, tm_hour=3, tm_min=21, tm_sec=15, tm_wday=0, tm_yday=46, tm_isdst=0)
3. 将时间元组转换为时间戳
结合time()函数和mktime()函数,可以将时间元组转换为时间戳。
import time
time_tuple = (2021, 2, 15, 3, 21, 15, 0, 46, 0)
timestamp = time.mktime(time_tuple)
print(timestamp) # 输出:1613360875.0
4. 获取格式化时间
strftime()函数可以将时间元组格式化为指定的时间字符串。
import time
time_tuple = (2021, 2, 15, 3, 21, 15, 0, 46, 0)
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print(formatted_time) # 输出:2021-02-15 03:21:15
5. 睡眠等待
time模块的sleep()函数可以让当前程序在指定时间内休眠等待。
import time
print("等待开始")
time.sleep(3)
print("等待结束")
输出:
等待开始
(程序停止3秒钟)
等待结束
示例
1. 计算脚本执行时间
通过measure_time()函数装饰器,可以方便地计算脚本执行时间。
import time
def measure_time(func):
def wrapper(*args, **kwargs):
before = time.time()
result = func(*args, **kwargs)
after = time.time()
print(f"Function {func.__name__} took {after - before:.4f} seconds to execute")
return result
return wrapper
@measure_time
def my_function():
time.sleep(2)
print("Function completed")
my_function() # 输出:Function my_function took 2.0024 seconds to execute
2. 根据用户输入的时间计算时间差
通过用户输入的时间,可以计算当前时间和指定时间的时间差。
import time
def calculate_time_diff(input_time):
input_tuple = time.strptime(input_time, "%Y-%m-%d %H:%M:%S")
input_timestamp = time.mktime(input_tuple)
current_timestamp = time.time()
time_diff = current_timestamp - input_timestamp
return time_diff
input_time = "2021-02-15 03:21:15"
time_diff = calculate_time_diff(input_time)
print(f"The time difference between {input_time} and now is {time_diff:.2f} seconds")
输出:
当前时间为:2021-02-15 00:07:55
The time difference between 2021-02-15 03:21:15 and now is -12360.00 seconds
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python time模块详解(常用函数实例讲解,非常好) - Python技术站