夏時間を考慮した 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 サイトの他の関連記事を参照してください。