我會建議處理行而不是嘗試更改MySQL輸出結果。這樣你的數據庫將有關於created_date
的詳細完整數據。而客戶端(其他功能,系統,項目等)會將從數據庫檢索到的值格式化爲他們需要的任何格式。此外,您將通過系統爲日期保持一致的返回結果。無論執行哪種DB查詢,您的軟件始終都會返回相同的格式。
下面是ES6中的一個例子,它還使用了moment.js庫來簡化您將要使用的任何日期操作,強烈建議使用這個庫。
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'a',
database: 'signal'
});
function formatDate(date) {
return moment(date).format('YYYY-MM-DD HH:mm:ss');
}
connection.query(command, (err, rows) => {
if (err) {
throw err;
}
rows = rows.map(row => ({
...row,
created_date: formatDate(row.created_date)
}));
console.log(rows);
});
更新或ES5
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'a',
database: 'signal'
});
function formatDate(date) {
return moment(date).format('YYYY-MM-DD HH:mm:ss');
}
connection.query(command, function(err, rows) {
if (err) {
throw err;
}
rows = rows.map(function(row) {
return Object.assign({}, row, { created_date: formatDate(row.created_date) });
});
console.log(rows);
});
謝謝,但什麼'...行,'?你能完成這個部分嗎? –
我更新了添加ES5樣本 – anvk
謝謝,爲什麼我得到'[]'? 。問題是'無效的參數數量,期望0..1'這部分的代碼'{},行,{create_date:formatDate(row.create_date)}' –