ホームページ  >  記事  >  データベース  >  MySQL の CONVERT_TZ() 関数はタイムゾーンと夏時間をどのように処理しますか?

MySQL の CONVERT_TZ() 関数はタイムゾーンと夏時間をどのように処理しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-24 01:42:14712ブラウズ

How Does MySQL's CONVERT_TZ() Function Handle Time Zones and Daylight Saving Time?

MySQL CONVERT_TZ() タイム ゾーンの処理

質問 1: 夏時間に関する考慮事項

はい、その通りです。タイムゾーン名 (「US/Eastern」など) を指定すると、CONVERT_TZ() は夏時間を考慮します。 CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN') を呼び出すと、1 月に '19:00:00' が返され、東部標準時が UTC から 5 時間遅れていることが認識されます。夏時間中は、東部時間が 1 時間進むため、結果は「20:00:00」になります。

質問 2: タイム ゾーン テーブルの更新

の場合タイム ゾーン名のみに依存するため、オフセットを最新の状態に保つためにタイム ゾーン テーブルを常に更新する必要はありません。 CONVERT_TZ() は、現在のタイム ゾーン設定と夏時間ルールを考慮します。

質問 3: NULL 戻り値のトラブルシューティング

サンプル クエリでの NULL 戻り値 (CONVERT_TZ(' 2004-01-01 12:00:00','GMT','MET')) は、タイム ゾーン テーブルが欠落していることが原因である可能性があります。これを確認するには、次のクエリを実行します。

SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');

これでも NULL が返された場合は、タイム ゾーン テーブルが正しく設定されていないことを示します。

追加のヒント

  • Web アプリケーションの場合、JavaScript を使用してユーザーの時間を取得できますzone.
  • 時間を直接加算または減算する代わりに、MySQL の INTERVAL キーワードを使用して時間計算を処理できます。たとえば、

    now() - interval 1 day + interval 4 hour
を使用すると、1 日を引いて 4 時間を追加できます。

以上がMySQL の CONVERT_TZ() 関数はタイムゾーンと夏時間をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。