Python 日期时间到整数时间戳
原文:https://www . geesforgeks . org/python-datetime-to-integer-timestamp/
在本文中,我们将看到如何将 python DateTime 转换为整数时间戳。
timestamp()函数返回自 1970 年 1 月 1 日以来经过的秒数。那个零时刻被称为纪元。首先,我们将获得当前时间,或者明确提到我们想要时间戳的所需日期和时间。有几种方法可以得到日期和时间。我们将在浏览示例时看到它们。然后我们使用 timestamp()函数将日期时间转换为时间戳。
最后,我们将以秒和毫秒为单位舍入时间戳,并显式地将其类型转换为整数数据类型,我们的工作就完成了!
例 1:当前日期时间的整数时间戳
在这里,我们导入日期时间模块以使用其中的日期时间函数。然后使用 datetime.now()函数获取当前日期和时间。使用 DateTime.timestamp()方法将 DateTime 对象转换为时间戳。我们将以秒为单位获取时间戳。然后舍入时间戳,并显式地将浮点数类型转换为整数,以秒为单位获得整数时间戳。
Python 3
from datetime import datetime
curr_dt = datetime.now()
print("Current datetime: ", curr_dt)
timestamp = int(round(curr_dt.timestamp()))
print("Integer timestamp of current datetime: ",
timestamp)
输出:
Current datetime: 2021-08-25 15:04:33.794484
Integer timestamp of current datetime: 1629884074
例 2:指定日期时间的整数时间戳
在 datetime()函数中给出日期和时间作为参数。使用 datetime.timestamp()方法将 datetime 对象转换为时间戳。我们将以秒为单位获取时间戳。舍入时间戳,并显式地将浮点数转换为整数,以秒为单位获取整数时间戳。我们还可以通过乘以 1000 将其转换为毫秒,以毫秒为单位获得整数时间戳。
Python 3
from datetime import datetime
dtime = datetime(2018, 1, 1, 20)
print("Datetime: ", dtime)
dtimestamp = dtime.timestamp()
print("Integer timestamp in seconds: ",
int(round(dtimestamp)))
milliseconds = int(round(dtimestamp * 1000))
print("Integer timestamp in milliseconds: ",
milliseconds)
输出:
Datetime: 2018-01-01 20:00:00
Integer timestamp in seconds: 1514817000
Integer timestamp in milliseconds: 1514817000000
示例 3:使用 calendar.timegm 的 UTC(世界协调时)整数时间戳
首先,我们在 datetime.datetime()对象中输入 UTIC 时间。然后我们将对象传递给 d.timtuple()函数,该函数给出一个包含年、月、日等参数的 tuple,然后使用 calendar 函数将 datetime 转换为整数 UTC 时间戳。
Python 3
import datetime
import calendar
d = datetime.datetime(1970, 1, 1, 2, 1, 0)
ttuple = d.timetuple()
itimestamp = calendar.timegm(ttuple)
print("Timestamp in integer since epoch:",
itimestamp)
输出:
Timestamp in integer since epoch: 7260
示例 4:特定时区整数时间戳
首先,我们使用 datetime.datetime.now()获取当前时间。然后导入 pytz 库来实例化 timezone 对象以本地化日期时间。使用 datetime.timestamp()方法将 datetime 对象转换为时间戳。我们将以秒为单位获取时间戳。舍入并转换整数形式的时间戳以获得整数时间戳。
Python 3
import datetime
import pytz
dtime = datetime.datetime.now()
timezone = pytz.timezone("Asia/Kolkata")
dtzone = timezone.localize(dtime)
print("Time Zone: ", dtzone.tzinfo)
print("Datetime: ", dtzone)
tstamp = dtzone.timestamp()
print("Integer timestamp: ", int(round(tstamp)))
输出:
Time Zone: Asia/Kolkata
Datetime: 2021-08-25 15:09:05.194413+05:30
Integer timestamp: 1629884345
版权属于:月萌API www.moonapi.com,转载请注明出处