1
timezone
オプションを自分のタイムゾーン(Europe/Zagreb
と私は+01:00
で試してみました)に設定しましたが、データベースから時刻を読み取るときには時間が保存されますが、 SequelizeはUTCに変換されます。私は別のタイムゾーンも試してみましたが、それぞれ正しく保存されていますが、データベースから読み込むと常にUTCに変換されます。SequelizeはUTCでdatetimeを読み取ります
私は間違ったことをしていますか、これは既知の問題であり、回避策がありますか?
私はとの新しい接続を作成:
sequelize = new Sequelize(config.database, config.username, config.password, config);
と私の設定は次のようなものになります。あなたはこのコードを試すことができます
"development": {
"username": "root",
"password": "root",
"database": "db",
"host": "localhost",
"dialect": "mysql",
"timezone": "Europe/Zagreb"
}
おかげで、中にちょうど 'typeCast'機能' dialectOptions'は、私の場合はトリックをしました。 – Vedran
私はこのメソッドを動作させることができません。 Sequelizeは、データの挿入と読み取りの際にUTCを使用しています。ローカルでのみ動作しますが、自分のアプリケーションを自分のサーバーにアップロードするときは動作しません。私のサーバーは自分のタイムゾーンを使用するように設定されており、MySQLサーバーはシステムタイムゾーンを使用するように設定されています。 これはなぜ機能しないのでしょうか? – user3183411
@ user3183411 'timezone: '+01:00' //あなたのタイムゾーンをここで使用する'はデータベースに書き込むために使用され、dateTimeフィールドに正しい値を書き込んでいるかどうかをチェックし、 'dialectOptions'の' typeCast'関数です。 –