postgresql returns 不正确的日期格式

postgresql returns incorrect date format

我正在使用 node.js 以及 postgresql 数据库和 knex ORM 构建一个应用程序。我有一个列类型 date。我以 YYYY-MM-DD (2016/05/12) 格式上传日期数据。当我在 pgAdmin 中查看数据时,数据正确显示为 2016/05/12。但是,当我检索数据时,它以以下格式显示:

Wed May 11 2016 20:00:00 GMT-0400 (EDT)

有谁知道为什么会这样?这是我的查询:

knex('projects').where({
    report_id: req.params.id
}).then(function(data) {
    console.log(data[0].created_at); //returns Wed May 11 2016 20:00:00 GMT-0400 (EDT)
    res.send(data);
}).catch(function(error) {
    console.log('error: ' + error);
    res.sendStatus(500);
});

查询returns:

Wed May 11 2016 20:00:00 GMT-0400 (EDT) - 关闭一天后添加了我最初没有输入数据库的额外信息。

有人知道会发生什么吗?

提前致谢!

javascript 中没有 date 数据类型。您的 date sql 数据类型被转换为 datetime javascript 数据类型,这就是附加时区信息的原因。

要修复它,请尝试调用数据库 return 字段作为 varchar,(即类似 var data = db.query('select date::varchar from table',conn) 然后 javascript 会认为它是 string,因此保留了字段的数据完整性。