如何将Python DateTime字符串转换为整数毫秒?
在本文中,我们将讨论在Python中将Python DateTime字符串转换为毫秒的各种方法。
使用time.time()方法
Python中的time模块提供了与时间相关的各种方法和函数。这里,我们使用time.time()方法获取当前CPU时间(以秒为单位)。时间是自纪元以来计算的,返回以秒为单位表示的浮点数。该值乘以1000,并使用round()函数舍入。
注 :纪元是时间的起点,具体取决于平台。纪元是Windows和大多数Unix系统上的1970年1月1日00:00:00(UTC),并且在从纪元开始的秒数中不包含闰秒。
我们使用time.gmtime(0)来获取给定平台上的纪元。
语法
time()方法的语法如下。
time.time()
返回一个表示自纪元以来的秒数的浮点值。
例子
在以下示例代码中,我们使用time.time()方法获取当前时间(以秒为单位)。然后我们乘以1000,使用round()函数来近似值。
import time
obj = time.gmtime(0)
epoch = time.asctime(obj)
print("纪元是:", epoch)
curr_time = round(time.time()*1000)
print("自纪元以来的毫秒数:",curr_time)
输出
上面代码的输出如下;
纪元是: Thu Jan 1 00:00:00 1970
自纪元以来的毫秒数: 1662373873162
使用datetime模块
在这里,我们使用datetime模块提供的各种函数来查找当前时间并将此字符串转换为整数毫秒。
首先,我们使用datetime.utc()方法检索当前日期。然后我们从当前日期中减去日期01-01-1970(datetime(1970, 1, 1))以获取自纪元以来的天数。对于此日期,我们应用.total_seconds()返回自纪元以来的总秒数。最后,我们通过应用round()函数将值舍入到毫秒。
例子1
在以下示例代码中,我们获取当前时间的字符串并将其转换为整数毫秒。
from datetime import datetime
print("当前日期的字符串格式:",datetime.utcnow())
date= datetime.utcnow() - datetime(1970, 1, 1)
print("自纪元以来的天数是:",date)
seconds =(date.total_seconds())
milliseconds = round(seconds*1000)
print("自纪元以来的毫秒数是:",milliseconds)
输出
上面示例代码的输出如下;
当前日期的字符串格式: 2022-09-05 10:31:52.853660
自纪元以来的天数是: 19240 days, 10:31:52.853671
自纪元以来的毫秒数是: 1662373912854
例子2
timestamp()函数用于将datetime对象转换为毫秒 –
import time
from datetime import datetime
dt = datetime(2018, 1, 1)
milliseconds = int(round(dt.timestamp() * 1000))
print(milliseconds)
输出
这将给出如下输出:
1514745000000