2016-05-12 19 views
0

私はpostgresql dbとknex ORMを使用してnode.jsを使用してアプリケーションを構築しています。私は列タイプがdateです。 YYYY-MM-DD(2016/05/12)の形式で日付データをアップロードしました。 pgAdminでデータを表示すると、データは2016/05/12として正しく表示されます。しかし、私はデータを取得するとき、それは形式で表示されます。これが起こっされる可能性がありますなぜpostgresqlは不正な日付形式を返します

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

誰でも知っていますか?一日でオフになって、私はデータベースに、もともとの入力をしませんでした追加情報を追加 -

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); 
}); 

クエリが返す:ここに私のクエリがあります。

何が起こっているのでしょうか?

ありがとうございます!

+0

を私はしないでくださいknex.jsを知っていますが、クライアント側の何かが、自分の選択したものに日付を変換しているようです。 –

答えて

2

dateデータ型はjavascriptにありません。 date SQLデータ型がdatetimeのJavaScriptデータ型としてキャストされているため、タイムゾーン情報が追加されています。それを修正するには

、(すなわちvar data = db.query('select date::varchar from table',conn)のようなものが、その後のjavascriptがそれはstringをだと思うでしょう、したがって、フィールドのデータの整合性が保たれ、varcharとしてフィールドを返すデータベースへの呼び出しを持ってみてください。

関連する問題