欢迎访问宙启技术站
智能推送

如何在Python中使用time模块中的函数进行时间戳和日期时间转换?

发布时间:2023-06-09 14:24:54

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()函数将其转换为时间戳。