调度任务中常常要用到精确的时间,如果获取的13位时间戳不够准确的话,会造成数据的重复或者缺失
通常的不准确的13位时间戳的获取方式(秒*1000)
import time millis = int(round(time.time() * 1000)) print millis
准确的13位时间戳获取(微妙/1000)
# -*- coding: utf-8 -*- import datetime import time """ 获取精确毫秒数时间戳、 """ def get_seconds(): datetime_object = datetime.datetime.now() now_timetuple = datetime_object.timetuple() now_second = time.mktime(now_timetuple) mow_millisecond = long(now_second*1000 + datetime_object.microsecond/1000) print "timetuple-- "+ str(now_timetuple) print "datimeobject-- " + str(datetime_object) print "second-- " + str(now_second) print "millisecond-- " + str(mow_millisecond) if __name__ == "__main__": get_seconds()
结果
timetuple-- time.struct_time(tm_year=2018, tm_mon=12, tm_mday=3, tm_hour=11, tm_min=55, tm_sec=6, tm_wday=0, tm_yday=337, tm_isdst=-1) datimeobject-- 2018-12-03 11:55:06.254679 second-- 1543809306.0 millisecond-- 1543809306254
推荐学习《Python教程》!
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!