首页 > 其他分享 >软件测试|time模块的用法,你都掌握了吗?

软件测试|time模块的用法,你都掌握了吗?

时间:2023-11-06 11:38:30浏览次数:35  
标签:struct timestamp tm 时间 模块 time print 软件测试

软件测试|time模块的用法,你都掌握了吗?_测试

前言

在Python编程中,时间是一个关键的概念,涉及到计时、延时、日期时间操作等。Python的time模块提供了处理时间相关操作的函数和方法。本文将详细介绍time模块的各种功能和用法,帮助您更好地理解和应用时间操作。

时间戳(Timestamp):

时间戳是指从1970年1月1日(称为“UNIX纪元”或“Epoch时间”)开始到现在的秒数。time模块中的time()函数可以返回当前时间的时间戳。

import time

timestamp = time.time()
print("当前时间戳:", timestamp)

----------------
当前时间戳: 1692524937.2620442

时间结构(Time Struct):

time模块中的struct_time是一个元组,包含了年、月、日、时、分、秒等时间信息。gmtime()localtime()函数可以将时间戳转换为时间结构。

import time

timestamp = time.time()
time_struct = time.gmtime(timestamp)
print("UTC时间结构:", time_struct)

local_time_struct = time.localtime(timestamp)
print("本地时间结构:", local_time_struct)

--------------
UTC时间结构: time.struct_time(tm_year=2023, tm_mon=8, tm_mday=20, tm_hour=9, tm_min=50, tm_sec=13, tm_wday=6, tm_yday=232, tm_isdst=0)
本地时间结构: time.struct_time(tm_year=2023, tm_mon=8, tm_mday=20, tm_hour=17, tm_min=50, tm_sec=13, tm_wday=6, tm_yday=232, tm_isdst=0)

格式化时间:

strftime()函数用于将时间结构格式化为字符串,符合我们的阅读习惯。

import time

time_struct = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time_struct)
print("格式化后的时间:", formatted_time)

---------------
格式化后的时间: 2023-08-20 17:53:22

延时和暂停:

sleep()函数可以在代码执行时暂停一段时间,用于实现延时操作,在我们执行自动化测试的时候非常有用。

import time

print("开始等待")
time.sleep(2)  # 暂停2秒
print("等待结束")

------------
开始等待
等待结束

计时器:

perf_counter()函数可以用于精确计算程序运行时间,适用于性能分析和测试。

import time

start_time = time.perf_counter()

# 模拟耗时操作
for _ in range(1000000):
    pass

end_time = time.perf_counter()
elapsed_time = end_time - start_time
print("耗时:", elapsed_time, "秒")

----------
耗时: 0.038553700000000024 秒

时间转换:

mktime()函数可以将时间结构转换为时间戳,strptime()函数可以将字符串解析为时间结构。

import time

time_struct = time.strptime("2023-08-20", "%Y-%m-%d")
timestamp = time.mktime(time_struct)
print("转换后的时间戳:", timestamp)
--------------
转换后的时间戳: 1692460800.0

总结

time模块是Python中处理时间相关操作的核心工具之一。通过掌握time模块的各种函数和方法,我们可以在编程中有效地处理时间戳、时间结构、时间格式化、延时等需求。无论是编写计时器、处理日期时间,还是进行性能分析,time模块都提供了丰富的功能来满足您的需求。通过不断练习和实践,能够更加灵活地运用time模块来处理各种时间操作。

标签:struct,timestamp,tm,时间,模块,time,print,软件测试
From: https://blog.51cto.com/u_15649298/8202907

相关文章

  • 软件测试|深入探究Python中的计数函数count()的使用
    前言在Python中,列表(List)是一种常见的数据结构,用于存储一系列元素。count()是列表对象的一个内置方法,用于计算列表中某个特定元素出现的次数。本文将详细介绍count()函数的用法,以及如何在实际编程中灵活运用它。基本用法:count()函数的基本语法如下:count=list.count(value)其中,list......
  • 软件测试|如何使用ChatGPT生成思维导图
    前言思维导图是一种用图形方式呈现信息、概念和关系的工具,旨在帮助人们更清晰地组织、理解和记忆复杂的信息。它通常以树状结构展示,将主题、子主题、关键词等通过线条和连接箭头相连,从而呈现出不同元素之间的层次关系和联系。思维导图有助于将复杂的想法拆分为更小的部分,使之更易于......
  • 软件测试|人工智能如何帮助测试工程师解决问题?
    前言ChatGPT正式开放使用,绝对是今年最大的新闻,ChatGPT是人工智能技术驱动的自然语言处理工具,它能够基于在预训练阶段所见的模式和统计规律,来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。当然作为......
  • 软件测试|Beautiful Soup库详细使用指南
    简介BeautifulSoup是一款强大的Python库,广泛用于解析HTML和XML文档,从中提取数据并进行处理。它的灵活性和易用性使得数据抽取变得简单,本文将详细介绍BeautifulSoup库的基本用法和示例。安装BeautifulSoup首先,需要确保我们已经安装了Python。然后,可以使用以下命令通过pip安装Beau......
  • 【NestJS系列】核心概念:Module模块
    前言模块指的是使用@Module装饰器修饰的类,每个应用程序至少有一个模块,即根模块。根模块是Nest用于构建应用程序的起点,理论上Nest程序可能只有根模块,但在大多数情况下是存在多个模块的,每个模块各自封装一组相关的功能。@Module装饰器@Module()装饰器可以传入一个对象,属性值如下:provi......
  • LocalDateTime日期格式之间的转换
    LocalDateTimetime1=LocalDateTime.now();String=time1.format(DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss"))2.LocalDateTime时间大小比较//自定义开始时间LocalDateTimestartTime=LocalDateTime.of(2021,10,22,10,10,10);//自定义结束时间LocalDa......
  • 通过@JsonFormat和@DateTimeFormat,解决前后端时间格式问题
    在domain层的时间属性上面加@JsonFormat和@DateTimeFormat注解后端传前端:GMT+8:表示东八区@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="GMT+8")前端传后端:@DateTimeFormat(pattern="yyyy-MM-ddHH:mm......
  • 通过@JsonFormat和@DateTimeFormat,解决前后端时间格式问题
    在domain层的时间属性上面加@JsonFormat和@DateTimeFormat注解后端传前端:GMT+8:表示东八区@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="GMT+8")前端传后端:@DateTimeFormat(pattern="yyyy-MM-ddHH:mm......
  • LocalDateTime兼容日期格式
    publicclassCustomDeserializerextendsJsonDeserializer<LocalDateTime>{//兼容生长曲线纪录中前端可能会传递的recordTime格式为yyyy-MM-dHH:mm:ss的参数publicstaticfinalDateTimeFormatterformat=DateTimeFormatter.ofPattern("yyyy-MM-dHH:mm:ss");@Overridep......
  • 关于yyyy-MM-dd格式日期字符串,解析成LocalDateTime遇到的问题
    LocalDateTimelocalDateTime;try{localDateTime=LocalDateTime.parse(str,DateTimeFormatter.ofPattern(pattern));}catch(Exceptionex){ex.printStackTrace();LocalDatelocalDate=parseLocalDate(str,pattern);......