Python实现Web UI自动化测试实战:Selenium 3/4+unittest/Pytest+GitLab+Jenkins
上QQ阅读APP看书,第一时间看更新

3.6 Python中的time模块

time模块提供了与时间相关的函数。时间间隔是以秒为单位的浮点数。在Python中,通常有这几种方式来表示时间:时间戳(timestamp)、结构化时间(struct time)、格式化的时间字符串。

(1)时间戳

我们可以使用“time.time()”来获取时间戳,它表示从1970年1月1日00:00:00开始到现在一共经历了多长时间,单位是秒。

示例代码如下。

>>> import time
>>> time.time()
1588647868.1104956

需要注意以下两点。

●时间戳适用于做日期运算,但是1970年之前的日期就无法用时间戳表示了。太遥远的未来的日期也不行,UNIX和Windows只支持到2038年。

●时间戳适合表示唯一值。

(2)结构化时间

很多Python函数用元组装起来的9组数字处理时间,如表3-1所示。

表3-1 Python结构化时间

续表

示例代码如下。

>>> localtime = time.localtime()

运行结果如下。

time.struct_time(tm_year=2020, tm_mon=5, tm_mday=5, tm_hour=11, tm_min=28, tm_sec=51, tm_wday=1, tm_yday=126, tm_isdst=0)

(3)格式化时间

我们可以借助strftime将当前时间以特定的格式输出,如下所示(示例代码:test3_20.py)。

import time

# 格式化成2016-03-20 11:45:39形式
print(time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime()))
# 格式化成Sat Mar 28 22:24:24 2016形式
print(time.strftime(“%a %b %d %H:%M:%S %Y”, time.localtime()))
# 将格式字符串转换为时间戳
a = “Tue May 05 06:06:06 2020”
print(time.mktime(time.strptime(a, “%a %b %d %H:%M:%S %Y”)))

运行结果如下。

2020-05-05 11:13:26
Tue May 05 11:13:26 2020
1588629966.0

time.strftime里面有很多参数,我们能够随意地输出自己想要的内容,下面是time.strftime的参数介绍。

strftime(format[, tuple]) -> string用于将指定的struct_time(默认为当前时间)根据指定的格式化字符串输出,格式化符号与其对应的表示内容如表3-2所示。

表3-2 格式化输出

续表

格式化时间示例如下(示例代码:test3_21.py)。

import time
# 输出年月日,以斜杠分隔,如2020/05/12
print(time.strftime('%Y/%m/%d',time.localtime(time.time())))

# 显示年月日时分秒,中间无分隔符,常用作保存日志的文件名,如20200512210350
print(time.strftime('%Y%m%d%H%M%S',time.localtime(time.time())))

本节我们学习了time模块的常用操作,请大家熟练掌握。