Python中的Unix时间戳转换

Unix时间戳是指从协调世界时1970年1月1日0时0分0秒起至现在的总秒数。在Python中,我们可以很方便地将Unix时间戳转换为日期时间格式,也可以将日期时间格式转换为Unix时间戳。本文将介绍如何使用Python来进行这些转换,并提供相关的代码示例。

什么是Unix时间戳

Unix时间戳是一种时间表示方式,它以整数形式表示从1970年1月1日0时0分0秒起至现在的总秒数。它被广泛用于计算机系统中,尤其在Unix和类Unix系统中。Unix时间戳不受时区的影响,并且可以方便地进行日期时间的计算和比较。

Unix时间戳转换为日期时间格式

在Python中,我们可以使用datetime模块来将Unix时间戳转换为日期时间格式。下面是一个示例代码:

import datetime

timestamp = 1620739200  # Unix时间戳

# 将Unix时间戳转换为日期时间格式
dt = datetime.datetime.fromtimestamp(timestamp)

# 打印结果
print(dt)

在上面的代码中,我们首先导入了datetime模块。然后,我们定义了一个Unix时间戳timestamp,并使用datetime.fromtimestamp()函数将其转换为日期时间格式。最后,我们打印出转换后的结果。

上述代码的输出结果为:

2021-05-12 00:00:00

可以看到,Unix时间戳1620739200对应的日期时间为2021年5月12日0时0分0秒。

日期时间格式转换为Unix时间戳

与将Unix时间戳转换为日期时间格式相反,我们也可以使用datetime模块将日期时间格式转换为Unix时间戳。下面是一个示例代码:

import datetime

dt = datetime.datetime(2021, 5, 12, 0, 0, 0)  # 日期时间格式

# 将日期时间格式转换为Unix时间戳
timestamp = dt.timestamp()

# 打印结果
print(int(timestamp))

在上面的代码中,我们定义了一个日期时间格式dt,其值为2021年5月12日0时0分0秒。然后,我们使用dt.timestamp()函数将其转换为Unix时间戳,并使用int()函数将浮点数转换为整数。最后,我们打印出转换后的结果。

上述代码的输出结果为:

1620739200

可以看到,日期时间格式2021年5月12日0时0分0秒对应的Unix时间戳为1620739200。

总结

在Python中,我们可以使用datetime模块来进行Unix时间戳和日期时间格式之间的转换。通过datetime.fromtimestamp()函数,我们可以将Unix时间戳转换为日期时间格式;而通过timestamp()函数,我们可以将日期时间格式转换为Unix时间戳。这些转换操作非常简单,可以方便地实现时间的转换和计算。

本文提供了相关的代码示例,并介绍了Unix时间戳的作用和转换方法。希望本文对你理解Python中的Unix时间戳转换有所帮助。

参考资料

  • [Python datetime — Basic date and time types](