我正在使用带有postgresql db和knex ORM的node.js构建应用程序。我有一个列类型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);
});
查询返回:
Wed May 11 2016 20:00:00 GMT-0400 (EDT)
- 一天关闭会添加我最初未输入数据库的其他信息。
有谁知道可能会发生什么?
提前致谢!
答案 0 :(得分:2)
javascript中没有import java.util.Scanner;
public class GuessTheLetterGame {
public static void main(String[] args) throws java.io.IOException{
Scanner keyboard = new Scanner(System.in);
char answer;
char guess;
boolean right = false;
while(!right){
System.out.print("press a key and press ENTER:");
answer= (char) keyboard.next().charAt(0);
System.out.print("Have a guess and press ENTER: ");
guess= (char) keyboard.next().charAt(0);
if (guess == answer){
System.out.println("**Right**");
right = true;
}
}
}
}
数据类型。您的date
sql数据类型正在被转换为date
javascript数据类型,这就是为什么要附加时区信息的原因。
要解决此问题,请尝试调用数据库,将字段返回为datetime
,(例如varchar
之类的内容,然后javascript会将其视为var data = db.query('select date::varchar from table',conn)
,从而保持该领域的数据完整性。