0

MySQL データベースから (mysql ノード モジュールを使用して) 列を取得すると、次のような形式の役に立たない日付が表示されます。

2012 年 9 月 12 日水曜日 08:44:26 GMT+0100 (GMT 夏時間)

返された結果で dateformat モジュールを使用しようとすると、単に「無効な日付」が表示されます。

MySQL がフォーマットする方法で日付をフォーマットしたい、つまり YYYY-MM-DD HH:MM:SS

これが私のスクリプトです:

var lastChanged = '' ;
var lastUpdated = '' ;
var poll ;
function DBPoller()
{
poll = setTimeout(function(){
    connection.query('SELECT enquiryAdded FROM _table_updates', function(e, row) {
        if(e)
        {
            console.log('An error occured: '+e)
        }
        else
        {
            addedDate = dateFormat(row[0], 'yyyy-mm-dd hh:MM:ss') ;
            if(addedDate != lastChanged)
            {
                console.log('An enquiry was just added at '+addedDate+', the one before this was at '+lastChanged) ;
                lastChanged = addedDate ;
            }
        }
    });
    DBPoller() ;
}, 2000)
}

上記により、「無効な日付」エラーが表示されます。

私は何が欠けていますか?


こんにちは、mysql 列のデータ型は DATETIME です。

4

1 に答える 1

1

見つけた!

MySQL からの結果は JSON 文字列です。

{ enquiryAdded: Wed Sep 12 2012 08:44:26 GMT+0100 (GMT Daylight Time) }

だから私がしたことは、その値にアクセスすることだけでした:

var addedDate = dateFormat(row[0] .enquiryAdded , 'yyyy-mm-dd hh:MM:ss') ;

そのため、「無効な日付」が表示されていました。

于 2012-09-12T08:13:08.110 に答える