python中时间戳表示_Python中的精确时间戳

我最近一直在构建一个错误记录应用程序,并且是在准确地对输入数据进行时间戳的方式之后.当我准确地说,我的意思是每个时间戳应该相对准确(不需要同步到原子钟或类似的东西).

我一直在使用datetime.now()作为第一刺,但这并不完美:

>>> for i in range(0,1000):

... datetime.datetime.now()

...

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

etc.

第一个样本的时钟之间的变化如下所示:

所以看起来像定时器数据只是在我的机器上每15〜32ms更新一次.问题出现在我们来分析数据时,因为按时间戳记以外的东西进行排序,然后再次按时间戳进行排序可以使数据按顺序排列顺序(按时间顺序排列).将时间戳准确到达时间戳发生器的任何调用给出唯一的时间戳是很好的.

我一直在考虑一些方法,包括使用一个添加到起始日期时间的time.clock()调用,但是会喜欢一个可以在同一台机器上的线程上正确工作的解决方案.任何建议都将非常感激.uSecs difference

562000

578000 16000

609000 31000

625000 16000

640000 15000

656000 16000

687000 31000

703000 16000

718000 15000

750000 32000

765000 15000

781000 16000

796000 15000

828000 32000

843000 15000

859000 16000

890000 31000

9>>> for i in range(0,1000):

... datetime.datetime.now()

...

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

etc.>>> for i in range(0,1000):

... datetime.datetime.now()

...

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 562000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 578000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

datetime.datetime(2008, 10, 1, 13, 17, 27, 609000)

etc.16000

921000 15000

937000 16000

968000 31000

984000 16000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值