python 获取毫秒级时间问题的解决
根据网上的一些说法,
在python里获取ms级系统时间可以通过以下方式获取:
import datetime print(datetime.datetime.now().microsecond)
但通过以下代码测试,发现返回的并不是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)
打印结果
(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去除毫秒 返回当前时间
datetime模块返回当前时间
import datetime if __name__ == '__main__': a = datetime.datetime.now().replace(microsecond=0) print(a, type(a))
运算结果:
2020-05-22 12:13:42 <class 'datetime.datetime'> Process finished with exit code 0
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
使用PIL(Python-Imaging)反转图像的颜色方法
今天小编就为大家分享一篇使用PIL(Python-Imaging)反转图像的颜色方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-01-01基于PyQt5实现SqlServer数据库表导出Excel表格小工具
这篇文章主要为大家详细介绍了PyQt5的应用案例之实现SqlServer数据库表导出Excel表格小工具,文中的示例代码讲解详细,需要的小伙伴可以参考一下2023-12-12如何利用Boost.Python实现Python C/C++混合编程详解
这篇文章主要给大家介绍了关于如何利用Boost.Python实现Python C/C++混合编程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧2018-11-11
最新评论