当前位置: 首页 > 后端技术 > Python

python中构造时间戳参数的方法

时间:2023-03-25 21:39:51 Python

Purpose&Idea本次要构建的时间戳主要有两个目的:headers需要通过当前时间对应的13位(毫秒级)时间戳来查询获取一定时间段内(比如30天)的数据agotothecurrenttime))接下来做什么:获取当前日期,比如2021-12-16,设置时间偏移量为结束时间,获取对应的30天前的日期,设置为开始时间,将开始时间和结束时间转换成时间戳一个简单易懂的例子根据以上思路,时间戳参数创建过程如下importdatetimetoday=datetime.datetime.now()#获取今天的时间print("当前日期为:{}".format(today))end_time=int(round(today.timestamp()*1000))#将今天的时间作为查询的结束时间,转换为13位的时间戳(int()表示保留整数部分)offset=datetime.timedelta(days=-30)#定义偏移量,即时间间隔fromthecurrenttimestart_time=int(round((today+offset).timestamp()*1000))#定义查询开始时间=当前时间回溯30天并转换为时间戳print("开始日期为:{},对应时间戳:{}".format(today+offset,start_time))print("结束日期为:{},对应时间戳:{}".format(today,end_time))打印结果。当前日期为:2021-12-1616:50:58.543452开始日期为:2021-11-1616:50:58.543452,对应时间戳:1637052658543结束日期为:2021-12-1616:50:58.543452,对应的时间戳:1639644658543找一个时间戳转换网站,看上面生成的开始日期的时间戳是不是对应到原来的日期。可以看出可以粗略匹配(网上很多人用round()方法进行四舍五入,因为我对精度没有那么高的要求,所以直接四舍五入)需要注意的是:timestamp()方法默认生成一个10位(秒级)的时间戳,如果要转为13位(毫秒),则将结果*1000加上timedelta的几个参数datetime.timedelta(days=0),秒=0,微秒=0,毫秒=0,分钟=0,小时=0,周=0