通过nodejs进行的Web服务和日期延迟一天出现

时间:2018-10-13 13:17:32

标签: node.js postgresql

我已经通过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;

1 个答案:

答案 0 :(得分:1)

邮递员在utc中显示它。在vs控制台中,它显示为GMT + 0430。如果您通过将4.30h添加到2018-09-02T19:30:00进行转换,则是2018-09-03。

vs控制台日志和邮递员响应中的通知000Z和GMT + 0430