📜  Python日期时间到整数时间戳(1)

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

Python日期时间到整数时间戳

在Python中,我们经常需要将日期时间转换为整数时间戳。时间戳是指距离某个固定时间点(通常是1970年1月1日00:00:00 UTC)的秒数。

datetime模块

Python的datetime模块提供了处理日期时间的类和函数。我们可以使用datetime模块来将日期时间对象转换为时间戳。

首先,需要导入datetime模块:

import datetime

我们创建一个datetime对象,然后使用它的timestamp()方法将其转换为时间戳:

dt = datetime.datetime(2022, 1, 1, 0, 0, 0)
timestamp = dt.timestamp()
print(timestamp)

输出结果是一个浮点数时间戳,表示2022年1月1日00:00:00 UTC距离1970年1月1日00:00:00 UTC的秒数。

1640995200.0
time模块

Python的time模块提供了一些处理时间的函数,包括将时间转换为时间戳的函数。

我们可以使用time模块中的mktime()函数将一个时间元组(tuple)转换为时间戳。时间元组的格式为(year, month, day, hour, minute, second, weekday, Julian day, DST)。

import time

t = (2022, 1, 1, 0, 0, 0, 0, 0, -1)
timestamp = time.mktime(t)
print(timestamp)

输出结果与前面的例子一样。

1640995200.0
处理UTC时间

如果你需要将UTC时间转换为本地时间戳,可以使用utcfromtimestamp()函数和fromtimestamp()函数。

utcfromtimestamp()函数将一个时间戳转换为UTC时间对象,fromtimestamp()函数将一个时间戳转换为本地时间对象。我们可以使用这两个函数来进行时间转换。

import datetime

timestamp = 1640995200.0

# 转换为UTC时间
utc_dt = datetime.datetime.utcfromtimestamp(timestamp)
print(utc_dt)

# 转换为本地时间
local_dt = datetime.datetime.fromtimestamp(timestamp)
print(local_dt)

输出结果:

2022-01-01 00:00:00
2022-01-01 08:00:00

注意,本地时间是相对于UTC时间的时差,这取决于你所在的时区。在上面的例子中,本地时间比UTC时间早8小时,因为我所在的时区是UTC+8。

总结

在Python中,我们可以使用datetime模块和time模块来处理日期时间和时间戳。我们可以使用datetime对象的timestamp()方法将其转换为时间戳,也可以使用time模块的mktime()函数将时间元组转换为时间戳。要将UTC时间转换为本地时间戳,我们可以使用datetime模块的utcfromtimestamp()函数和fromtimestamp()函数。