如何将 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("The epoch is:",epoch)
curr_time = round(time.time()*1000)
print("Milliseconds since epoch:",curr_time)

输出

以上代码的输出如下所示:

The epoch is: Thu Jan  1 00:00:00 1970
Milliseconds since epoch: 1662373873162

使用 datetime 模块

在这里,我们使用 datetime 模块提供的各种函数来查找当前时间并将此字符串转换为毫秒整数。

最初,我们使用 datetime.utc() 方法检索当前日期。然后,我们通过从当前日期减去 1670 年 1 月 1 日 (datetime(1970, 1, 1)) 获取自纪元以来的天数。对于此日期,我们应用 .total_seconds() 返回自纪元以来的秒总数。最后,我们通过应用 round() 函数将值四舍五入到毫秒。

示例 1

在以下示例代码中,我们获取当前时间字符串并将其转换为毫秒整数。

from datetime import datetime
print("Current date in string format:",datetime.utcnow())
date= datetime.utcnow() - datetime(1970, 1, 1)
print("Number of days since epoch:",date)
seconds =(date.total_seconds())
milliseconds = round(seconds*1000)
print("Milliseconds since epoch:",milliseconds)

输出

以上示例代码的输出如下所示:

Current date in string format: 2022-09-05 10:31:52.853660
Number of days since epoch: 19240 days, 10:31:52.853671
Milliseconds since epoch: 1662373912854

示例 2

timestamp() 函数用于将 datetime 对象转换为毫秒 -

import time
from datetime import datetime
dt = datetime(2018, 1, 1)
milliseconds = int(round(dt.timestamp() * 1000))
print(milliseconds)

输出

这将给出以下输出

1514745000000

更新于: 2023 年 4 月 4 日

5K+ 次观看

启动您的 职业生涯

通过完成课程获得认证

立即开始
广告
© . All rights reserved.