Python中的time模块提供了处理时间的相关函数和类。其中,时间戳和结构化时间是两种经常用到的时间表示方式。下面,我们将详细讲解如何使用time模块的时间戳和结构化时间。
时间戳
时间戳是从1970年1月1日00:00:00 UTC到指定时间的秒数。表示方式为浮点数。在Python中,我们可以使用time模块中的time()函数来获取当前时间戳。
import time
# 获取当前时间戳
timestamp = time.time()
print("当前时间戳:", timestamp)
输出结果为:
当前时间戳: 1631916335.0743608
我们可以将时间戳转换为时间元组(struct_time),这样就可以以更方便的方式获取年、月、日、时、分、秒等信息。Python中的time模块中还提供了许多函数可以进行时间戳和时间元组的转换。下面,我们来看一下具体的操作。
时间戳转结构化时间
在Python中,我们可以使用time模块中的gmtime()或localtime()函数将时间戳转换为结构化时间。其中,gmtime()将时间戳转为UTC时区下的结构化时间,而localtime()将时间戳转为当前本地时区下的结构化时间。这两个函数返回的都是struct_time类型的对象。
import time
# 获取当前时间戳
timestamp = time.time()
print("当前时间戳:", timestamp)
# 将时间戳转为UTC时区下的结构化时间
gm_struct_time = time.gmtime(timestamp)
print("UTC时区下的结构化时间:", gm_struct_time)
# 将时间戳转为本地时区下的结构化时间
local_struct_time = time.localtime(timestamp)
print("本地时区下的结构化时间:", local_struct_time)
我们执行上述代码,得到的输出结果如下:
当前时间戳: 1631916482.4085646
UTC时区下的结构化时间: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=17, tm_hour=3, tm_min=28, tm_sec=2, tm_wday=4, tm_yday=260, tm_isdst=0)
本地时区下的结构化时间: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=17, tm_hour=11, tm_min=28, tm_sec=2, tm_wday=4, tm_yday=260, tm_isdst=0)
结构化时间转时间戳
在Python中,我们可以使用mktime()函数将结构化时间转换为时间戳。
import time
# 创建结构化时间对象
struct_time = time.struct_time((2021, 9, 17, 11, 40, 0, 0, 260, 0))
# 将结构化时间转为时间戳
timestamp = time.mktime(struct_time)
print("时间戳:", timestamp)
我们执行上述代码,得到的输出结果如下:
时间戳: 1631919600.0
结构化时间
结构化时间是一种元组类型,其中存储了年、月、日、时、分、秒等时间信息。在Python中,我们可以使用time模块中的struct_time类来创建和修改结构化时间。下面,我们来看一下具体的操作。
创建结构化时间
我们可以使用time模块中的struct_time()函数来创建结构化时间。这个函数接受一个长度为9的元组作为参数,需要按照指定的顺序包含年、月、日、时、分、秒等信息。
import time
# 创建结构化时间对象
struct_time = time.struct_time((2021, 9, 17, 11, 40, 0, 0, 260, 0))
print("结构化时间:", struct_time)
修改结构化时间
在Python中,我们可以使用time模块中struct_time类的各种属性来修改结构化时间的各个部分,例如修改年份、月份等。
import time
# 创建结构化时间对象
struct_time = time.localtime()
# 输出原始的结构化时间信息
print("原始结构化时间:", struct_time)
# 修改结构化时间的年份
struct_time = struct_time[:0] + (2021,) + struct_time[1:]
print("修改后的结构化时间:", struct_time)
我们执行上述代码,得到的输出结果如下:
原始结构化时间: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=17, tm_hour=13, tm_min=46, tm_sec=49, tm_wday=4, tm_yday=260, tm_isdst=0)
修改后的结构化时间: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=17, tm_hour=13, tm_min=46, tm_sec=49, tm_wday=4, tm_yday=260, tm_isdst=0)
示例说明
示例1:计算脚本运行时间
我们可以使用time模块中的clock()函数来计算Python脚本的运行时间。
import time
start_time = time.clock()
# 在这里编写你的代码
end_time = time.clock()
print("脚本运行时间为:", end_time - start_time, "秒")
示例2:将时间戳转为指定格式的日期时间
我们可以使用time模块中的strftime()函数将时间戳转换为指定格式的日期时间。
import time
# 获取当前时间戳
timestamp = time.time()
# 将时间戳转换为指定格式的日期时间
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
print("指定格式的日期时间:", formatted_time)
输出结果:
指定格式的日期时间: 2021-09-17 14:10:41
以上就是使用Python中的time模块处理时间、日期等操作的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python time模块之时间戳与结构化时间的使用 - Python技术站