mysql - 获取从当前日期起 3 周内的记录 - mySql
问题描述
我的 MySql 数据库中有一个列名 expiresAt ,它以秒为单位保存日期(Unix 时间戳),类似于1620075613。
我正在尝试获取 expiresAt 值在当前日期后 3 周内的数据的记录。
以下是我尝试过的,我生成了 currentDate + 3 Weeks 的时间戳,如下所示
let currentDate:any = new Date(), dateWithWeek:any = new Date();
currentDate = Math.round((currentDate).getTime() / 1000)
dateWithWeek.setDate(dateWithWeek.getDate() + 3 * 7);
dateWithWeek = Math.round((dateWithWeek).getTime() / 1000)
上面的代码给了我几秒钟,比如我在查询中使用的1628355849 。
我的服务在 nodejs 中,我正在使用 sequelize
db.schemes.findAll({ where: { companyId: companyId, expiresAt : {$gte : currentDate, $lte : dateWithWeek } } });
在完成上述转换并将其传递给查询之后,尽管有记录在 3 周之前过期,但我没有得到预期的结果。
我已经使用https://www.epochconverter.com/验证了 expiresAt 列中的一些值,它向我显示了接下来 3 周内的日期。
您是否看到转换为秒或查询的任何问题。
expiresAt 属性的一些示例数据
1551294879 -- 过去的时间戳
1576480067 -- 过去的时间戳
1626802304 -- 3周内(应在查询结果中返回)
1627839104 -- 3周内(应在查询结果中返回)
解决方案
推荐阅读
- python - 是否有 Django 内置的注册视图?
- typescript - 如何根据构造函数选项设置方法返回类型?
- java - Java:如何一次从多个列表中删除一个对象
- google-cloud-platform - 是否可以在没有默认后端的情况下创建 GKE Ingress?
- wordpress - 在 WooCommerce 中更改后,类别 Slug 仍然存在
- ssl - 无法与 Kubernetes 中的 Go gRPC 服务通信
- reactjs - redux-form 的字段不能设置 autoComplete 关闭
- java - 以同步方式从 firebase 获取数据
- android - 如何为自定义广播接收器编写模拟测试
- java - 出现错误 java.lang.NullPointerException:尝试调用虚拟方法'double android.location.Location.getLatitude()'