调度任务中常常要用到精确的时间,如果获取的13位时间戳不够准确的话,会造成数据的重复或者缺失
通常的不准确的13位时间戳的获取方式(秒*1000)
importtime millis=int(round(time.time()*1000)) printmillis
准确的13位时间戳获取(微妙/1000)
#-*-coding:utf-8-*- importdatetime importtime """ 获取精确毫秒数时间戳、 """ defget_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-0311:55:06.254679 second--1543809306.0 millisecond--1543809306254原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容