📌  相关文章
📜  如何在Python中将 DateTime 转换为 UNIX 时间戳?(1)

📅  最后修改于: 2023-12-03 15:08:56.970000             🧑  作者: Mango

如何在 Python 中将 DateTime 转换为 UNIX 时间戳?

在 Python 中,我们可以使用 datetime 模块来处理日期和时间。UNIX 时间戳是指从 UNIX 纪元(1970 年 1 月 1 日)到某个时间点的秒数。在 Python 中,我们可以将 DateTime 对象转换为 UNIX 时间戳,方法如下:

import datetime

# 创建一个 DateTime 对象
dt = datetime.datetime(2021, 4, 1, 12, 0, 0)

# 将 DateTime 对象转换为 UNIX 时间戳
timestamp = dt.timestamp()

# 打印结果
print("DateTime 对象:", dt)
print("对应的 UNIX 时间戳:", timestamp)

运行以上代码,得到以下输出:

DateTime 对象: 2021-04-01 12:00:00
对应的 UNIX 时间戳: 1617278400.0

我们可以看到,dt.timestamp() 方法返回的是一个浮点数,表示从 UNIX 纪元到 dt 对象所表示的时间点的秒数。

另外,需要注意的是,timestamp() 方法适用于 Python 3.x,如果你的 Python 版本是 2.x,可以使用以下的方法:

import time
import datetime

# 创建一个 DateTime 对象
dt = datetime.datetime(2021, 4, 1, 12, 0, 0)

# 将 DateTime 对象转换为 UNIX 时间戳
timestamp = time.mktime(dt.timetuple())

# 打印结果
print("DateTime 对象:", dt)
print("对应的 UNIX 时间戳:", timestamp)

以上代码中,time.mktime() 方法将 DateTime 对象转换为含有 9 个元素的元组,其中第 0 个元素表示从 1900 年 1 月 1 日到现在的年数,第 1 个元素为当前月份,以此类推。最后,mktime() 方法将这个元组转换为秒数表示的浮点数,即 UNIX 时间戳。

参考文档:https://docs.python.org/3/library/datetime.html#datetime.datetime.timestamp