鍍金池/ 問答/數(shù)據(jù)庫  HTML/ node mysql 存在數(shù)據(jù)庫中的時(shí)間和取到前端的時(shí)間不一致,請問怎么解決

node mysql 存在數(shù)據(jù)庫中的時(shí)間和取到前端的時(shí)間不一致,請問怎么解決

先上圖:

這是在數(shù)據(jù)庫中的時(shí)間
clipboard.png

這是到前端之后的時(shí)間

clipboard.png

這是sql語句
clipboard.png

我從數(shù)據(jù)庫將時(shí)間取出來之后,到前端就時(shí)間變了

這個(gè)是我鏈接數(shù)據(jù)庫的方法,基本也應(yīng)該是最基本(?)的方法

const query = function( sql, values, extraValue ) {

  return new Promise(( resolve, reject ) => {
    pool.getConnection(function(err, connection) {
      if (err) {
        reject( err );
      } else {
        // 執(zhí)行查詢
        connection.query(sql, values, (err, rows) => {
          if ( err ) {
            // console.log('connection err', err)
            reject( err );
          } else {
            // console.log('connection resolve', rows)
            const successStr = {
              data: rows,
              state: responseState.SUCCESS,
            };
            // console.log('successStr', successStr)
            resolve( successStr );
          }
          // 連接不再使用,返回連接池
          connection.release();
        });
      }
    })
  })
}

請問我改如何處理才能讓前端獲取到正確的時(shí)間呢

補(bǔ)充:

這個(gè)是鏈接mysql的配置:
clipboard.png

// 連接數(shù)據(jù)庫
clipboard.png

index.js 入口文件index
clipboard.png

clipboard.png

另外我的mysql使用的是navicat鏈接的esayPHP的mysql數(shù)據(jù)庫,本地電腦沒有mysql數(shù)據(jù)庫,這個(gè)會(huì)不會(huì)也有影響?

回答
編輯回答
她愚我

mysqljs文檔
配置連接的時(shí)候有個(gè)timezone選項(xiàng)設(shè)置時(shí)區(qū)。
或者配置dateStrings選項(xiàng)為true,不轉(zhuǎn)換為Date只返回字符串。

2017年8月21日 13:10
編輯回答
舊言

你用的驅(qū)動(dòng)是mysql的話,去修改創(chuàng)建DB連接時(shí)的選項(xiàng)參數(shù),加個(gè)dateStrings: true

2018年8月30日 16:56
編輯回答
巴扎嘿

時(shí)間是一致的,只是前端看到的是一個(gè)UTC時(shí)間(帶時(shí)區(qū)),你可以自己加8個(gè)小時(shí)(如果是中國),或者用moment.js轉(zhuǎn)成你喜歡的格式。

2018年1月14日 15:26