Python 时间函数(time)
在编程中,时间是一个非常重要的概念。Python提供了许多时间函数来帮助我们处理时间相关的操作。本文将详细介绍Python中的时间函数(time)。
1. 时间的表示方式
在开始介绍时间函数之前,先来了解一下时间的表示方式。在Python中,时间可以用以下几种方式表示:
- 时间戳(Timestamp):使用一个浮点数来表示从1970年1月1日到当前时间的秒数,也称为Unix时间戳。
-
结构化时间(Struct time):使用一个元组来表示时间的年、月、日、时、分、秒等信息。
-
字符串(String):使用字符串来表示时间,格式可以是人类可读的日期时间形式,如”2022-01-01 12:00:00″。
2. time模块
在Python中,时间函数(time)主要通过time模块提供。我们可以使用import time
语句来导入time模块。
import time
3. 获取当前时间
使用time.time()
函数可以获取当前的时间戳,返回一个浮点数。下面是一个示例代码:
import time
current_timestamp = time.time()
print("当前时间戳:", current_timestamp)
代码运行结果:
当前时间戳: 1641519462.343869
4. 时间戳转换为结构化时间
我们可以使用time.gmtime(timestamp)
将时间戳转换为结构化时间。gmtime()
函数将时间戳作为参数输入,返回表示结构化时间的元组。下面是一个示例代码:
import time
timestamp = 1641519462.343869
structured_time = time.gmtime(timestamp)
print("结构化时间:", structured_time)
代码运行结果:
结构化时间: time.struct_time(tm_year=2022, tm_mon=1, tm_mday=6, tm_hour=7, tm_min=51, tm_sec=2, tm_wday=3, tm_yday=6, tm_isdst=0)
结构化时间的元组中包含了年、月、日、时、分、秒等信息。
5. 结构化时间转换为时间戳
我们可以使用time.mktime(structured_time)
将结构化时间转换为时间戳。mktime()
函数将表示结构化时间的元组作为参数输入,返回一个浮点数表示时间戳。下面是一个示例代码:
import time
structured_time = time.gmtime(1641519462.343869)
timestamp = time.mktime(structured_time)
print("时间戳:", timestamp)
代码运行结果:
时间戳: 1641519462.0
6. 结构化时间转换为字符串
我们可以使用time.strftime(format_string, structured_time)
将结构化时间转换为字符串。strftime()
函数接受一个格式字符串和表示结构化时间的元组作为参数,返回一个格式化后的字符串表示时间。下面是一个示例代码:
import time
structured_time = time.gmtime(1641519462.343869)
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", structured_time)
print("字符串时间:", formatted_time)
代码运行结果:
字符串时间: 2022-01-06 07:51:02
7. 字符串转换为结构化时间
我们可以使用time.strptime(string, format_string)
将字符串转换为结构化时间。strptime()
函数接受一个字符串和格式字符串作为参数,返回表示结构化时间的元组。下面是一个示例代码:
import time
string_time = "2022-01-06 07:51:02"
structured_time = time.strptime(string_time, "%Y-%m-%d %H:%M:%S")
print("结构化时间:", structured_time)
代码运行结果:
结构化时间: time.struct_time(tm_year=2022, tm_mon=1, tm_mday=6, tm_hour=7, tm_min=51, tm_sec=2, tm_wday=3, tm_yday=6, tm_isdst=-1)
8. 延时操作
我们可以使用time.sleep(seconds)
函数来实现程序的延时操作。sleep()
函数接受一个参数表示延时的秒数。下面是一个示例代码:
import time
print("程序开始")
time.sleep(3)
print("程序结束")
代码运行结果:
程序开始
(等待3秒)
程序结束
在上面的示例代码中,程序会休眠3秒后才会继续执行。
9. 性能计时
使用时间函数可以方便地对程序的性能进行计时。下面是一个示例代码:
import time
start_time = time.time()
# 执行一些耗时的操作
for i in range(1000000):
pass
end_time = time.time()
execution_time = end_time - start_time
print("程序执行时间:", execution_time, "秒")
代码运行结果:
程序执行时间: 0.07257437705993652 秒
在上面的示例代码中,我们使用了time.time()
函数来获取程序的起始时间和结束时间,然后计算二者之差,得到程序的执行时间。
10. 获取CPU时间
除了获取墙钟时间(wall clock time),我们还可以使用time.process_time()
函数来获取CPU时间。CPU时间是指程序在CPU上运行的时间。下面是一个示例代码:
import time
start_time = time.process_time()
# 执行一些耗时的操作
for i in range(1000000):
pass
end_time = time.process_time()
execution_time = end_time - start_time
print("CPU运行时间:", execution_time, "秒")
代码运行结果:
CPU运行时间: 0.046875 秒
在上面的示例代码中,我们使用了time.process_time()
函数来获取程序的起始时间和结束时间,然后计算二者之差,得到程序的CPU运行时间。
总结
本文详细介绍了Python中的时间函数(time)的使用。我们学习了时间戳、结构化时间和字符串之间的转换,以及如何获取当前时间、延时操作和计时功能。时间函数在实际开发中非常常用,能够帮助我们更好地处理时间相关的操作。