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
,因此保留了字段的数据完整性。
我正在使用 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
,因此保留了字段的数据完整性。