2017-06-16 3 views
0

ここに問題があります。私はdatetimeフィールドを持つMySQLデータベースを持っています。フォーマットは '2016-12-31 21:59:59'です。私はnodejsでこの値をフェッチしてテーブルに渡しますが、テーブルには次の書式があります:Sat Dec 31 2016 21:59:59 GMT + 0200(EET)なぜこれが起こり、どうすればそれを作ることができます '2017-01-01 23:59:59'もテーブルにありますか?MySQLからパースされたときに日時の値が変換される

これは私がそれを取得する方法である:

connection.query("SELECT * FROM TestInformation", function (err, rows, fields) { 
    if (err) { 
     console.log('Bad query!'); 
     console.log(err); 
    } 
    else { 
     console.log('Successful query!'); 
     //console.log(rows); 
     information = rows; 
     res.render('index', {information: information}); 
    } 
}); 

そして、これは私がそれを使用する方法です:

<input type="text" id="last_measure" placeholder="Last Measure"   name="last_measure" 
       class="form-control" value="{{information.0.Last_Measure}}"> 

答えて

0

を変更し、次のようなクエリ:

上記を使用して
"SELECT *, DATE_FORMAT(dateColumn, '%Y-%m-%d %H:%i:%s') as dateColumn FROM TestInformation" 

クエリでは、コンソールで表現するようにdateColumnの日付形式を変更できます。

このフォーマットは、MySQLでタイムスタンプを保存するデフォルトのフォーマットであり、表示されるのはアプリケーションの表現形式です。

+0

SQL選択のサイズによっては、mysqlは文字列操作では非常に遅いですが、これは機能します。新しいDate()およびtoLocaleString()も使用できます。 mysqlのlinux日付形式に基づいています。 – cpugourou

関連する問題