App下載

python中怎么樣才可以獲取毫秒級(jí)時(shí)間?獲取毫秒級(jí)時(shí)間方法分享!

花舞花落淚 2021-08-20 10:58:48 瀏覽數(shù) (16164)
反饋

通過(guò)使用和學(xué)習(xí)一階段關(guān)于python的編程語(yǔ)言和使用之后今天和大家分享“python中怎么樣才可以獲取毫秒級(jí)時(shí)間?”這個(gè)問(wèn)題的解決方法和相關(guān)內(nèi)容解決思路!

在python里獲取ms級(jí)系統(tǒng)時(shí)間可以通過(guò)以下方式獲取:

import datetime
print(datetime.datetime.now().microsecond)

但通過(guò)以下代碼測(cè)試,發(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

上面實(shí)驗(yàn)不太直觀,換一個(gè)直觀點(diǎn)的:

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

補(bǔ)充:Python datetime去除毫秒 返回當(dāng)前時(shí)間

datetime模塊返回當(dāng)前時(shí)間

import datetime
if __name__ == '__main__':
    a = datetime.datetime.now().replace(microsecond=0)
    print(a, type(a))

運(yùn)算結(jié)果:

2020-05-22 12:13:42 <class 'datetime.datetime'> Process finished with exit code 0

那么以上的內(nèi)容都是經(jīng)過(guò)自己的搜索整合還有個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,更多有關(guān)于python的編程問(wèn)題我們都可以在W3Cschool進(jìn)行學(xué)習(xí)和了解!


0 人點(diǎn)贊