1. 目标&思路
    本次要结构的工夫戳,次要有2个用处:

headers中须要传以后工夫对应的13位(毫秒级)工夫戳
查问获取某一时间段内的数据(如30天前~以后工夫)

接下来要做的工作:

获取以后日期,如2021-12-16,定为完结工夫
设置工夫偏移量,获取30天前对应的日期,定为开始工夫
将开始工夫与完结工夫转换为工夫戳

  1. 一个简略易懂的例子
    依照下面的思路,工夫戳参数创立过程如下

import datetime

today = datetime.datetime.now()  # 获取明天工夫print("以后日期是:{}".format(today))end_time = int(round(today.timestamp()*1000))  # 取明天工夫为查问完结工夫,并转为13位工夫戳(int()示意保留整数局部)offset = datetime.timedelta(days=-30)  # 定义偏移量,即与以后工夫的工夫距离start_time = int(round((today + offset).timestamp()*1000))  # 定义查问开始工夫=以后工夫回退30天,转为工夫戳print("开始日期为:{},对应的工夫戳:{}".format(today + offset, start_time))print("完结日期为:{},对应的工夫戳:{}".format(today, end_time))

打印一下后果

以后日期是:2021-12-16 16:50:58.543452
开始日期为:2021-11-16 16:50:58.543452,对应的工夫戳:1637052658543
完结日期为:2021-12-16 16:50:58.543452,对应的工夫戳:1639644658543

找一个工夫戳转换网站,看看上述生成的开始日期的工夫戳是否与本来日期对应

能够看进去,大抵是能对应上的(网上很多人应用round()办法进行了四舍五入,因为我对精度没那么高要求,所以间接取整了)

须要留神的是:timestamp() 办法默认生成的是10位(秒级)工夫戳,如果要转换为13位(毫秒级)的话,把后果*1000才行

补充timedelta的几个参数

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0