Node.jsにおけるsequelizeタイムゾーンの配置方法


基本概念
まず、地理の授業で習ったかもしれない基本概念を紹介します。
時間とは不思議なものです。以前は太陽の位置を観察して時間を決めていましたが、これによって経緯度の異なる地域の時間が変わります。その後、子午線を中心として東西に伸び、15度ごとにタイムゾーンが分かれ、ちょうど24のタイムゾーンになります。そして、一日に24時間がありますので、地球の自転は360度、360度/24時間=15度/時間です。だから、タイムゾーンに一時間差があります。
最初の標準時間(子午線中心部の時間)はイギリスロンドンのレアルグリニッジ天文台の標準時間です。これは私たちがよく話しているGMTです。そして他の各タイムゾーンは標準時間によって自分の時間を決めて、東のタイムゾーンに行く時間が遅い(GMT+hh:mmと表します)、西のタイムゾーンに行く時間が早い(GMT-hh:mmと表します)。例えば、中国の標準時間は東八区です。私達の時間はいつもGMTより8時間遅くて、彼らは午前1時で、私達はもう朝9時です。
しかしGMTは、実は地球の自転、公転によって計算されています。(太陽は毎日イギリスのロンドン王立グリニッジ天文台を通る時間は昼の12時です。)、あまり正確ではないので、後に原子時計による標準時間UTCを提出しました。
一般的には、GMTとUTCは交換できますが、実際には、GMTはタイムゾーンであり、UTCは時間基準です。
以下は本文を開始します。
Node.js sequelizeタイムゾーンの設定
sequelizeデフォルトでは、保存日付は+00:00タイムゾーンに変換されます。
送信データ:

time=2017-07-17 16:52:12
データベースに保存します。

2017-07-17 08:52:12
解決方法:
sequelize時にタイムゾーンを設定します。
timezone:'+08:00'
例えば:

const sequelize = new Sequelize(config.database, config.username, config.password, {
 host: config.host,
 port: config.port,
 dialect: 'mysql',
 pool: {
 max: 5,
 min: 0,
 idle: 10000
 },
 timezone: '+08:00'
});
PS:リンクされたすべてのデータベース(読みと書き)は、適切なタイムゾーンを設定しなければなりません。そうでないと、時間の書き込みが一致しない場合があります。
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考となる学習価値を持っています。質問があれば、メッセージを書いて交流してください。ありがとうございます。