ホームページ >データベース >mysql チュートリアル >記事の内容に適した質問ベースのタイトルをいくつか示します。 * **NodeJS がデータベースとは異なるタイムゾーンで MySQL データを表示するのはなぜですか?** * **NodeJS と MySQL の時刻を合わせる方法
NodeJS MySQL タイムゾーンの不一致
MySQL データベースからデータを直接フェッチすると、MySQL サーバーがUTCに設定します。ただし、MySQL を NodeJS と統合すると、データはローカル タイムゾーン (この場合は UTC 2) で取得されます。この不一致を理解することは、データベースとアプリケーションの時間処理の同期を維持するために非常に重要です。
この違いの根本的な理由は、MySQL と NodeJS のタイムゾーン処理メカニズムにあります。 MySQL は、デフォルトで日付とタイムスタンプの操作にシステム タイムゾーンを使用します。対照的に、NodeJS は、明示的にオーバーライドされない限り、オペレーティング システムのタイムゾーン設定を使用します。この違いにより、NodeJS を使用して MySQL にクエリを実行するときに差異が生じます。
この問題を修正し、NodeJS を MySQL の UTC タイムゾーンに合わせるには、NodeJS の接続構成を調整する必要があります。具体的には、「timezone」プロパティを指定する必要があります。このパラメータにより、オペレーティング システムの設定に関係なく、NodeJS が MySQL と同じタイムゾーンを維持するようになります。
提供されたコード スニペットでは、「タイムゾーン」プロパティが MySQL 接続構成に追加されています。
var db_config = { host: 'localhost', user: 'xxx', password: '', database: 'xxx', timezone: 'utc' //<- This line resolves the issue };
このプロパティを組み込むことにより、NodeJS は MySQL の動作に合わせて UTC でデータを取得するように設定されるようになりました。この調整によりタイムゾーンの不一致が解消され、データベースと NodeJS アプリケーションの間でタイムスタンプの一貫した処理が保証されます。
以上が記事の内容に適した質問ベースのタイトルをいくつか示します。 * **NodeJS がデータベースとは異なるタイムゾーンで MySQL データを表示するのはなぜですか?** * **NodeJS と MySQL の時刻を合わせる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。