我已经通过node js创建了Web服务,并且我的数据库是PostgreSQL。我通过邮递员将日期传递给了nodejs方法,并在我的数据库中进行了查询:
query =(ControlValueAcessor
);
SELECT distinct created_date
from scheduled_locations
where user_id = $1
and device_id = $2
and created_date >= $3
and created_date < $4
order by created_date ASC
在vs控制台中,我得到了这个结果:
db.any(query, [resquest.userId, resquest.DeviceId, resquest.from, resquest.to])
.then(data => {
console.log(data);
resolve(data);
})
但是在邮递员中,我得到了这些日期:
邮递员json请求:
0:Object {created_date: Mon Sep 03 2018 00:00:00 GMT+0430 (Iran Daylight T…}
1:Object {created_date: Wed Sep 05 2018 00:00:00 GMT+0430 (Iran Daylight T…}
2:Object {created_date: Thu Sep 06 2018 00:00:00 GMT+0430 (Iran Daylight T…}
3:Object {created_date: Sat Sep 08 2018 00:00:00 GMT+0430 (Iran Daylight T…}
邮递员回复:
{
"userId":"43dc5b31-2fcb-40e7-bfdb-df0f6bb163e4",
"DeviceId":"89984320001359565694",
"from":"2018-09-02 12:11:49.909Z",
"to":"2018-10-03 13:11:49.910Z"
}
邮递员在前一天显示!!!为什么以及如何解决?
我已经直接将查询查询到PostgreSQL ide:
[{"created_date":"2018-09-02T19:30:00.000Z"},{"created_date":"2018-09-04T19:30:00.000Z"},{"created_date":"2018-09-05T19:30:00.000Z"},{"created_date":"2018-09-07T19:30:00.000Z"}...
这是结果:
SELECT distinct created_date
from scheduled_locations
where user_id = '43dc5b31-2fcb-40e7-bfdb-df0f6bb163e4'
and device_id = '89984320001359565694'
and created_date >= '2018-09-02 12:11:49.909Z'
and created_date < '2018-10-03 13:11:49.910Z'
order by created_date ASC;
答案 0 :(得分:1)
邮递员在utc中显示它。在vs控制台中,它显示为GMT + 0430。如果您通过将4.30h添加到2018-09-02T19:30:00进行转换,则是2018-09-03。
vs控制台日志和邮递员响应中的通知000Z和GMT + 0430