当你在写程序时,是否遇到这种问题呢?
查询2018-5-23到2018-5-26之间的数据:
浏览器输入:
查询结果:
发现查询的数据少了26日的了,查看数据库数据:
源代码:
varexpress=require('express');
varrouter=express.Router();
varUser=require('../module/db').User;
/* GET users listing. */
router.get('/finduser',function(req,res) {
varform=req.query;
varstartdate=newDate(form.startdate);
varenddate1=newDate(form.enddate).getTime();
varenddate=newDate(enddate1);
console.log(startdate);
console.log(enddate);
User.findAll({
where:{
createtime:{
$between:[startdate,enddate]
}
}
}).then(function(data){
//console.log(data);
res.json(data);
});
})
module.exports=router;
发现原来数据库时间和查询时间有时间差,8个小时,那怎么解决呢?
查询结果:
代码如下:
最终代码:
varexpress=require('express');
varrouter=express.Router();
varUser=require('../module/db').User;
/* GET users listing. */
router.get('/finduser',function(req,res) {
varform=req.query;
varstartdate=newDate(form.startdate);
varenddate1=newDate(form.enddate).getTime()+86400000;
varenddate=newDate(enddate1);
console.log(startdate);
console.log(enddate);
User.findAll({
where:{
createtime:{
$between:[startdate,enddate]
}
}
}).then(function(data){
//console.log(data);
res.json(data);
});
})
module.exports=router;
只需要将查询的最终时间添加毫秒数8640000,就可以查询到想要的数据了。
代码位nodejs使用sequelize编写sql语句哦!
领取专属 10元无门槛券
私享最新 技术干货