如何在Python中使用time模块中的函数进行时间戳和日期时间转换?
Python中的time模块是一个与时间相关的库,它包含了多个用于处理时间的函数和类。通过这些函数和类,我们可以很方便地进行时间戳和日期时间的转换。
时间戳和日期时间的概念
首先,我们需要了解一下时间戳和日期时间的概念。
时间戳是指从1970年1月1日00:00:00(UTC)至当前时间的秒数,是一个浮点数。时间戳可以用来表示某一时间点的绝对时间,其数值越大代表时间越靠后。
日期时间是指一组年月日时分秒等时间单位的组合,用于表示具体的时间点。日期时间可以用来表示某一时间点的绝对时间,其格式通常为“年-月-日 时:分:秒”。
在Python中,我们可以使用time模块中的函数进行时间戳和日期时间的相互转换。
获取当前时间戳
我们可以使用time模块中的time()函数来获取当前的时间戳,其返回值为浮点数,以秒为单位。
示例代码:
import time timestamp = time.time() print(timestamp)
输出结果:
1621418163.0358331
上面的代码中,我们调用了time.time()函数来获取当前的时间戳,并将其赋值给了变量timestamp。最后打印出该变量的值,即为当前时间戳。
将时间戳转换为日期时间
我们可以使用time模块中的gmtime()或localtime()函数将时间戳转换为日期时间。
gmtime()函数将时间戳转换为UTC时间,返回一个struct_time对象。该对象包含了年、月、日、时、分、秒等字段,可以通过该对象的属性获取对应值。localtime()函数将时间戳转换为本地时间。
示例代码:
import time
timestamp = 1621418163.0358331
time_struct = time.gmtime(timestamp)
date_time = time.strftime("%Y-%m-%d %H:%M:%S", time_struct)
print(date_time)
输出结果:
2021-05-19 08:09:23
上面的代码中,我们将时间戳1621418163.0358331赋值给了变量timestamp。在调用gmtime()函数将时间戳转换为struct_time对象时,我们可以得到包含年、月、日、时、分、秒等字段的时间信息。最后,我们使用strftime()函数将struct_time对象转换为指定格式的日期时间字符串。
strftime()函数是将日期时间格式化为字符串的函数,其中%Y、%m、%d等为格式化字符串。具体的格式化字符串含义可以在Python文档中查看。
将日期时间转换为时间戳
我们可以使用mktime()函数将日期时间转换为时间戳。mktime()函数将struct_time对象或元组形式的时间转换为时间戳。
示例代码:
import time date_time = "2021-05-19 08:09:23" time_struct = time.strptime(date_time, "%Y-%m-%d %H:%M:%S") timestamp = time.mktime(time_struct) print(timestamp)
输出结果:
1621418163.0
上面的代码中,我们将日期时间字符串“2021-05-19 08:09:23”赋值给了变量date_time,并使用strptime()函数将其转换为struct_time对象。在调用mktime()函数时,我们将该结构体传入,并将返回值赋值给变量timestamp。
总结
在Python中,我们可以通过使用time模块来实现时间戳和日期时间的相互转换。时间戳可以通过time()函数获取,日期时间可以通过gmtime()函数或localtime()函数将时间戳转换为struct_time对象,然后再通过strftime()函数将其格式化为日期时间字符串。日期时间可以通过strptime()函数将其转换为struct_time对象,然后再通过mktime()函数将其转换为时间戳。
