如何將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.utcnow()方法檢索當前日期。然後,我們透過從當前日期減去日期1970-01-01(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+ 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始學習
廣告