- 目的&思路
本次要构造的时间戳,主要有2个用途:
查询获取某一时间段内的数据(如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才行
【在python中构造时间戳参数的方法】补充timedelta的几个参数
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)