ホームページ  >  記事  >  データベース  >  MySQL の CONVERT_TZ() 関数は夏時間を処理しますか? タイム ゾーンの問題をトラブルシューティングするにはどうすればよいですか?

MySQL の CONVERT_TZ() 関数は夏時間を処理しますか? タイム ゾーンの問題をトラブルシューティングするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-19 20:07:02812ブラウズ

Does MySQL's CONVERT_TZ() Function Handle Daylight Saving Time, and How Can I Troubleshoot Time Zone Issues?

夏時間を考慮した MySQL CONVERT_TZ()

質問 1:

はい、あなたの理解は正しいです。 CONVERT_TZ() は、タイムゾーン名を指定するときに夏時間を考慮します。たとえば、CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN') は実際に 1 月 1 日の '19:00:00' と 7 月 1 日の '20:00:00' を返します。

質問 2:

いいえ、そうではありませんタイムゾーンの UTC オフセットを最新の状態に保つために、MySQL のタイムゾーン テーブルを常に更新する必要があります。 MySQL は、タイム ゾーン ルールが変更されるとテーブルを自動的に更新します。

質問 3:

SELECT CONVERT_TZ('2004-01-01 12:00:00' の結果) 、'GMT'、'MET') 「NULL」が返される場合は、タイム ゾーン テーブルが設定されていないことを示している可能性があります。

これを確認するには、次のクエリを実行できます。

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

結果が NULL でない場合、タイム ゾーン テーブルは正しく設定されています。

代替タイム ゾーン オフセット計算:

タイム ゾーン テーブルが設定されていない場合ただし、この方法では、ユーザーのタイム ゾーン オフセットを手動で更新する必要があります。

select utc_timezone() - interval user_timezone_offset_in_hours hour
from userinfo a
where user_id = 999;

時間の取得JavaScript 経由のゾーン:

Web アプリケーションの場合、JavaScript 経由でユーザーのタイムゾーンを取得できます。次のリンクは、これを行う方法の例を示しています:

[JavaScript タイム ゾーン検出](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) .DateTimeFormat)

時間に INTERVAL を使用する計算:

INTERVAL キーワードを使用すると、時間値の加算と減算が簡単に行えます。たとえば、次のクエリは現在時刻から 1 日、4 時間、8 分を減算します:

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

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