在大数据时代,时间处理是涉及到各种数据处理场景中不可避免的问题。Python中的time()函数是一个有很多好处的模块,它提供了一些处理时间的函数。我们可以使用time模块在我们的程序中处理时间相关的任务。在本篇文章中,我们将探讨time()函数的各种用法及其实现。
一、获取当前系统时间
获取当前系统时间是Unix时间戳的表示。一个Unix时间戳是一个从1970年1月1日午夜(绿wich标准时间/GMT)开始所经过的秒数。我们使用time()函数,返回一个float类型的时间戳。我们可以通过它取得当前日期-时间。
import time print("当前系统时间为:", time.time())
输出如下:
当前系统时间为:1611803310.0679045
二、时间元组(timeTuple)
我们可以将Unix时间戳转化为元组(struct_time),元组中的元素包含了年,月,日,时,分,秒等等展示时间的格式,该元组称之为时间元组。这样做的好处是,可查询任意时刻的时间。我们可以通过time()函数将时间戳转换为相应的元组。
import time print("当前的时间元组为:", time.localtime(time.time()))
输出如下:
当前的时间元组为:time.struct_time(tm_year=2021, tm_mon=1, tm_mday=28, tm_hour=22, tm_min=28, tm_sec=23, tm_wday=3, tm_yday=28, tm_isdst=0)
三、获取格式化日期
我们可以使用time()函数根据我们想要的格式获取日期。strftime函数用来将一个struct_time变量处理为字符串。它的第一个参数是格式字符串,它定义了输出字符串的格式。下面是一些常见的格式:
格式化字符串 | 说明 |
---|---|
%Y | 年份,如:2021 |
%m | 月份,如:01 |
%d | 日期,如:28 |
%H | 小时,如:22 |
%M | 分钟,如:28 |
%S | 秒,如:23 |
%a | 星期几,如:Mon |
%b | 月份缩写,如:Jan |
%c | 日期时间 |
%z | 时区 |
import time # 格式化当前时间 print("当前格式化日期为:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 格式化指定时间戳 print("指定时间戳的格式化日期为:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1611803310)))
输出如下:
当前格式化日期为: 2021-01-28 22:28:23 指定时间戳的格式化日期为: 2021-01-28 10:15:10
四、休眠函数sleep()
我们可以使用sleep()函数来挂起程序的执行,一直到一个指定的时间表达式到达。这对于测试的目的是很有用的,或者是避免让一个程序的资源过于占用CPU时间,也是非常必要的。下面我们使用sleep()函数延迟2秒。
import time print("程序开始执行...") time.sleep(2) print("程序结束执行...")
输出如下:
程序开始执行... 程序结束执行...
五、时间戳转日期
我们还可以使用asctime()方法来将时间戳转为字符串表示的日期与时间。下面是一个例子:
import time # 获取时间戳 timestamp = 1611803310 # 将时间戳转为时间元组 time_tuple = time.localtime(timestamp) # 将时间元组转为格式化字符串 string_time = time.asctime(time_tuple) print("时间戳转为字符串表示的日期与时间为:", string_time)
输出如下:
时间戳转为字符串表示的日期与时间为: Thu Jan 28 22:15:10 2021
六、时间计算
我们还可以在程序中进行一些时间计算。比如计算两个时间戳之间相差的秒数,分钟数等等。我们可以使用减法计算两个时间戳之间相差的时间。
import time # 获取两个时间戳 start_timestamp = time.time() end_timestamp = time.time() + 600 # 计算两者之间相差的秒数 diff = end_timestamp - start_timestamp print("相差的秒数为:", diff)
输出如下:
相差的秒数为: 600.0102427005768
七、总结
最后,我们介绍了time()函数的一些常见用法。我们学会了如何获取当前系统时间,时间元组的概念,获取格式化的日期,程序挂起,时间戳转字符串,以及时间计算等等。学会了这些知识后,我们能够更好地处理时间相关的任务。
本文链接:https://my.lmcjl.com/post/12804.html
4 评论