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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 使用Python实现毫秒级抢单功能

    目录: 引言 环境 需求分析&前期准备 淘宝购物流程回顾 秒杀的实现 代码梳理 总结 0 引言 年中购物618大狂欢开始了,各大电商又开始了大力度的折扣促销,我们的小胖又给大家谋了一波福利,淘宝APP直接搜索:小胖发福利,每天领取三次粉丝专属现金大红包. 有了现金大红包,如何做到更省钱的剁手呢?今天给大家提供一种思路,用Python实现秒杀订单,借用自动化方式完成最优解. 1 环境 操作系统:Windows Python版本:3.7.2 2 需求分析&前期准备 2.0 需求分析 我们的目标

  • Python完成毫秒级抢淘宝大单功能

    引言 年中购物618大狂欢开始了,各大电商又开始了大力度的折扣促销,我们的小胖又给大家谋了一波福利,淘宝APP直接搜索:小胖发福利,每天领取三次粉丝专属现金大红包. 有了现金大红包,如何做到更省钱的剁手呢?今天给大家提供一种思路,用Python实现秒杀订单,借用自动化方式完成最优解. 1 环境 操作系统:Windows Python版本:3.7.2 2 需求分析&前期准备 2.0 需求分析 我们的目标是秒杀淘宝的订单,这里面有几个关键点,首先需要登录淘宝,其次你需要准备好订单,最后要在指定时间快

  • Python 实现毫秒级淘宝抢购脚本的示例代码

    本篇文章主要介绍了Python 通过selenium实现毫秒级自动抢购的示例代码,通过扫码登录即可自动完成一系列操作,抢购时间精确至毫秒,可抢加购物车等待时间结算的,也可以抢聚划算的商品. 博主不提供任何服务器端程序,也不提供任何收费抢购软件.该文章仅作为学习selenium框架的一个示例代码.该思路可运用到其他任何网站,京东,天猫,淘宝均可使用,且不属于外挂或者软件之类,只属于一个自动化点击工具,如有侵犯到任何公司的合法权益,会第一时间将相关代码给予删除. 直接上源码: # !/usr/bin

  • 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+\ datet

  • PHP获取毫秒级时间戳的方法

    本文实例讲述了PHP获取毫秒级时间戳的方法.分享给大家供大家参考.具体分析如下: PHP本身没有提供获取毫秒级时间戳的函数,java里面可以通过gettime();获取.如果是要与java写的某些程序进行高精度的毫秒级的对接通信,则需要使用PHP输出毫秒级的时间.之前我采取的方法是采用不精准的方式,也就是在PHP原生的时间函数后面加上一个三位数字构成.为获取更为精准的毫秒级时间戳可以使用下面的代码: <?php function getMillisecond() { list($t1, $t2)

  • python 获取毫秒数,计算调用时长的方法

    如题:在python的函数调用中需要记录时间,下面是记录毫秒时间的方法. import datetime import time t1 = datetime.datetime.now().microsecond t3 = time.mktime(datetime.datetime.now().timetuple() //这里调用你的方法 t2 = datetime.datetime.now().microsecond t4 = time.mktime(datetime.datetime.now(

  • python获取当前日期和时间的方法

    本文实例讲述了python获取当前日期和时间的方法.分享给大家供大家参考.具体如下: import datetime # Get a datetime object now = datetime.datetime.now() # General functions print "Year: %d" % now.year print "Month: %d" % now.month print "Day: %d" % now.day print &q

  • python获取标准北京时间的方法

    本文实例讲述了python获取标准北京时间的方法.分享给大家供大家参考.具体分析如下: 这段python代码主要通过www.beijing-time.org的官网上获取标准的北京时间,如果你的服务器挂在网上,你可以通过这段代码定时获取北京时间,然后更新自己系统的标准时间. import time,httplib def getBeijinTime(): try: conn = httplib.HTTPConnection("www.beijing-time.org") conn.req

  • python 获取域名到期时间的方法步骤

    需求: 我要查询百度域名的到期时间或者开始时间 思路分析: 如果在linux系统中直接使用下面命令即可: echo | openssl s_client -servername www.baidu.com -connect www.baidu.com:443 2>/dev/null | openssl x509 -noout -dates|egrep 'notAfter'|awk -F'=|GMT' '{print $2}' 但是这个命令使用python2 的commands执行不成功,所以只能

  • Python获取秒级时间戳与毫秒级时间戳的示例代码

    1.获取秒级时间戳与毫秒级时间戳.微秒级时间戳 import time import datetime t = time.time() print (t) #原始时间数据 print (int(t)) #秒级时间戳 print (int(round(t * 1000))) #毫秒级时间戳 print (int(round(t * 1000000))) #微秒级时间戳 1499825149.257892    #原始时间数据 1499825149           #秒级时间戳,10位 1499

随机推荐