如何解决获取从当前日期起 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周内(应在查询结果中返回)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。