1. time模块概述
Python 的 time 模块提供了各种与时间相关的函数,包括获取日期和时间、获取程序执行时间、休眠时间等操作。
time 模块的核心功能是处理 Unix 时间戳,即从 1970 年 1 月 1 日开始经过的秒数。在 Python 2 中,时间戳是浮点数,而在 Python 3 中,时间戳为整数。
下面是一个示例代码,介绍如何使用 time 模块获取当前时间戳:
import time
timestamp = time.time()
print("当前时间戳为:", timestamp)
以上代码会输出当前时间戳,结果为一个浮点数,如下所示:
当前时间戳为: 1631382689.711611
2. 常用的时间处理函数
2.1 获取当前时间
time 模块提供了多个函数用于获取当前时间。其中,最常用的是 time.localtime() 和 time.strftime()。
2.1.1 time.localtime()
time.localtime() 函数返回当前时间的结构体,包含年、月、日、时、分、秒等信息。调用方法如下:
import time
localtime = time.localtime()
print("当前时间结构体:", localtime)
以上代码会输出当前时间结构体,结果如下所示:
当前时间结构体: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=11, tm_hour=9, tm_min=32, tm_sec=14, tm_wday=5, tm_yday=254, tm_isdst=0)
上面的输出结果中,可以看到时间信息包含了年、月、日、时、分、秒等。
2.1.2 time.strftime()
time.strftime() 函数将当前时间转换成指定格式的字符串。调用方法如下:
import time
localtime = time.localtime()
str_time = time.strftime("%Y-%m-%d %H:%M:%S", localtime)
print("当前时间字符串:", str_time)
其中,第一个参数是格式化字符串,可以指定任意的格式;第二个参数是结构体,表示需要格式化的时间。以上代码会输出当前时间的字符串形式,格式为 “年-月-日 时:分:秒”,结果如下所示:
当前时间字符串: 2021-09-11 09:37:28
2.2 时间戳的转换
可以使用 time 模块的 mktime() 函数将结构体转换为时间戳,使用 gmtime() 函数将时间戳转换为结构体。
2.2.1 time.mktime()
time.mktime() 函数的作用是将结构体转换为时间戳。调用方法如下:
import time
str_time = "2021-09-11 09:37:28"
struct_time = time.strptime(str_time, "%Y-%m-%d %H:%M:%S")
timestamp = time.mktime(struct_time)
print("时间戳:", timestamp)
以上代码的作用是将字符串形式的时间转换为结构体,再使用 mktime() 函数将结构体转换为时间戳。其中,第一个参数是需要转换的字符串,第二个参数是字符串的格式化字符串。
以上代码会输出转换后的时间戳,结果如下所示:
时间戳: 1631336248.0
2.2.2 time.gmtime()
time.gmtime() 函数将时间戳转换为 UTC 时间的结构体。使用方法如下:
import time
timestamp = 1631336248.0
struct_time = time.gmtime(timestamp)
print("UTC 时间结构体:", struct_time)
以上代码的作用是将时间戳转换为 UTC 年月日,结果如下所示:
UTC 时间结构体: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=11, tm_hour=1, tm_min=37, tm_sec=28, tm_wday=5, tm_yday=254, tm_isdst=0)
2.3 等待时间
Python 的 time 模块还提供了 time.sleep() 函数,可以暂停程序的执行一段时间。调用方法如下:
import time
print("开始等待")
time.sleep(5)
print("等待结束")
以上代码的作用是等待 5 秒钟,输出 “等待结束”。函数的参数是需要等待的秒数。
3. 总结
Python 的 time 模块提供了丰富的时间处理函数,可以用于获取当前时间、转换时间格式、等待时间等操作。在实际编程中,这些函数都有着广泛的应用。