大于或小于日期不会在续集中显示任何记录,但可用于heidisql

编程入门 行业动态 更新时间:2024-10-11 15:15:27

大于或小于日期不<a href=https://www.elefans.com/category/jswz/34/1756030.html style=会在续集中显示任何记录,但可用于heidisql"/>

大于或小于日期不会在续集中显示任何记录,但可用于heidisql

真的很奇怪,我无法调试该问题。我也不知道是什么原因引起的。我有一个如下查询:

const sequelize = require('sequelize')
const Op = sequelize.Op
const TODAY_START = new Date().setHours(0, 0, 0, 0)
const NOW = new Date()

    const  data = await AssignedJob.findAll({
        where: {
            created_on: {
                [Op.gt]: TODAY_START,
                [Op.lt]: NOW
            }
        }
    })

它生成如下查询。

SELECT `id`, `emp_id`, `zone_id`, `job_id`, `status`, `commission`, `rating`,
`created_by`, `updated_by`, `created_on`, `updated_on` 
FROM `assigned_jobs` AS `AssignedJob` 
WHERE (`AssignedJob`.`created_on` > '2020-03-24 00:00:00' AND `AssignedJob`.`created_on` < '2020-03-24 17:18:15');

但是data只是[]空数组。我也尝试使用[Op.between]: [START_DATE, NOW],但仍然没有任何记录。我将相同的查询复制到heidsql并运行它,结果在那里。这里发生了什么事?有人可以解释吗?序列中created_onupdated_on的数据类型为DATE,在表中为TIMESTAMP

回答如下:

使用moment.js在'YYYY-MM-DD'中设置日期格式>

const sequelize = require('sequelize')
const moment = require('moment');
const Op = sequelize.Op

function getDateWithoutTime(date) => moment(date).format('YYYY-MM-DD');

const TODAY_START = getDateWithoutTime(new Date());
const NOW = new Date()

const date = new Date().setHours(0, 0, 0, 0)

console.log(date); // return seconds after 1970 

const date1 = new Date();
date1.setHours(0, 0, 0, 0);

console.log(date1); // return date

更多推荐

大于或小于日期不会在续集中显示任何记录,但可用于heidisql

本文发布于:2024-05-07 03:01:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754154.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:会在   续集   日期   可用于   heidisql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!