2017-08-25 271 views
-1

我想知道是否有一個Python函數可以獲得相當於特定日期時間的納秒?我現在正在做的是這樣的:Python將日期時間轉換爲納秒

date_dt = my_desired_date 
date_utc = (date_dt - datetime(1970, 1, 1)).total_seconds() 
date_nano = date_utc * 1e+9 

是否有任何其他方式在Python中做到這一點?

感謝

+0

重複? https://stackoverflow.com/questions/2394485/get-posix-unix-time-in-seconds-and-nanoseconds-in-python –

+0

@RobbieJones我正在尋找一個顯式的python函數的日期時間對象,而不是格式化我目前掌握的結果 – ahajib

+1

看看這個https://stackoverflow.com/a/10612166/5811078 – zipa

回答

0

首先,讓我問 - 你想你的日期時間轉換爲納秒或你想檢索納秒當前時間?有一個微妙的區別。如果您只是想將日期時間對象強制納秒,而不是像以前所建議的那樣乘以1e+9是最好的(也是唯一的Python)解決方案。

如果您想要檢索當前時間(以納秒爲單位),則需要訪問您的clock_gettime函數(假設您在Linux上)。 Python3.x使這些調用可用https://docs.python.org/3/library/time.html#time.clock_gettime。在Python2.x中,您需要使用ctypes來查詢clock_gettime

請記住,您的系統可能不支持納秒分辨率,在這種情況下,您的查詢可能會四捨五入。使用clock_getres查詢您的系統分辨率功能。

+0

我試圖將我的日期時間轉換爲納秒,而不一定是當前時間 – ahajib