- 目标&思路
本次要结构的工夫戳,次要有2个用处:
headers中须要传以后工夫对应的13位(毫秒级)工夫戳
查问获取某一时间段内的数据(如30天前~以后工夫)
接下来要做的工作:
获取以后日期,如2021-12-16,定为完结工夫
设置工夫偏移量,获取30天前对应的日期,定为开始工夫
将开始工夫与完结工夫转换为工夫戳
- 一个简略易懂的例子
依照下面的思路,工夫戳参数创立过程如下
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