python 獲取毫秒級時間問題的解決
根據(jù)網(wǎng)上的一些說法,
在python里獲取ms級系統(tǒng)時間可以通過以下方式獲取:import datetimeprint(datetime.datetime.now().microsecond)
但通過以下代碼測試,發(fā)現(xiàn)返回的并不是ms的值,而是us的值:
import datetime def getTime_ms(): return (datetime.datetime.now().hour*3600 + datetime.datetime.now().minute*60+ datetime.datetime.now().second )*1000+ datetime.datetime.now().microsecond/1000 def timetime(): t = getTime_ms() while getTime_ms() - t < 500:pass a = getTime_ms() print(t, a, a- t) if __name__ == ’__main__’: from timeit import timeit t = timeit(’timetime()’, ’from __main__ import timetime’, number=1) print(t)
打印結(jié)果
(35460614, 35461114, 500) 0.499531984329
上面實驗不太直觀,換一個直觀點的:def timetime(): t1 = datetime.datetime.now() while 1:t2 = datetime.datetime.now()if (t2 - t1).microseconds >= 1: print(t2,t2.microsecond,t1,t1.microsecond,(t2-t1).seconds) break if __name__ == ’__main__’: from timeit import timeit t = timeit(’timetime()’, ’from __main__ import timetime’, number=1) print(t) #print (datetime.datetime.now())
輸出
(datetime.datetime(2019, 4, 3, 10, 6, 20, 461882), 461882, datetime.datetime(2019, 4, 3, 10, 6, 20, 461863), 461863, 0) 7.10487365723e-05
def timetime(): t1 = datetime.datetime.now() while 1:t2 = datetime.datetime.now()if (t2 - t1).microseconds >= 1000: print(t2,t2.microsecond,t1,t1.microsecond,(t2-t1).seconds) break if __name__ == ’__main__’: from timeit import timeit t = timeit(’timetime()’, ’from __main__ import timetime’, number=1) print(t) #print (datetime.datetime.now())
輸出
(datetime.datetime(2019, 4, 3, 10, 13, 52, 76548), 76548, datetime.datetime(2019, 4, 3, 10, 13, 52, 75547), 75547, 0) 0.00104904174805
補充:Python datetime去除毫秒 返回當(dāng)前時間
datetime模塊返回當(dāng)前時間import datetimeif __name__ == ’__main__’: a = datetime.datetime.now().replace(microsecond=0) print(a, type(a))
運算結(jié)果:
2020-05-22 12:13:42 <class ’datetime.datetime’> Process finished with exit code 0
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. XML入門精解之結(jié)構(gòu)與語法2. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera3. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)4. 利用CSS3新特性創(chuàng)建透明邊框三角5. XML入門的常見問題(一)6. HTML5 Canvas繪制圖形從入門到精通7. 概述IE和SQL2k開發(fā)一個XML聊天程序8. HTML <!DOCTYPE> 標(biāo)簽9. HTML DOM setInterval和clearInterval方法案例詳解10. XML入門的常見問題(二)
