MySQL タイムゾーンの包括的なリストを取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-03 00:10:02
オリジナル
946 人が閲覧しました

How can I get a comprehensive list of MySQL time zones?

MySQL タイム ゾーン: 徹底ガイド

質問: 使用可能な MySQL タイム ゾーンの包括的なリストはありますか?

答え: はい、ただしホストのオペレーティング システムによって異なります。リストにアクセスするには、タイム ゾーン データを MySQL にロードする必要があります。

タイム ゾーン データのロード方法:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
ログイン後にコピー

注: このコマンドUnix システム用です。 Windows に相当するものは不明です。

タイム ゾーンのリスト:

データがロードされたら、タイム ゾーンのリストを表示できます:

USE mysql;
SELECT * FROM `time_zone_name`;
ログイン後にコピー

カルガリー現地時間:

カルガリーの現地時間で時刻を表示するには、次の構文を使用します:

SELECT CONVERT_TZ(CURRENT_TIMESTAMP, 'GMT', 'America/Edmonton');
ログイン後にコピー

追加注:

  • タイムゾーン データは MySQL で約 5 MB を占有します。
  • データをアンロードするには、次のコマンドを実行して MySQL を再起動します。
TRUNCATE `time_zone` ;
TRUNCATE `time_zone_leap_second` ;
TRUNCATE `time_zone_name` ;
TRUNCATE `time_zone_transition` ;
TRUNCATE `time_zone_transition_type` ;
ログイン後にコピー
  • 注意: 問題が発生するため、これらのテーブルを削除しないでください。

自動タイムゾーン更新:

システムのタイムゾーンが変更されたときに MySQL のタイムゾーンを更新するように自動システムを設定できます。

MySQL >= 5.6.6 の場合:

mysql_config_editor set --login-path=client --host=localhost --user=root --password
ログイン後にコピー

MySQL の場合 < 5.6.6:

次の内容を含む ~/.my.cnf ファイルを作成します:

[client]
user=root
password=yourMysqlRootPW
ログイン後にコピー

次に、毎日実行する次のスクリプトを crontab に追加します:

if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
    echo "Updating MySQL timezone info"
    mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
    echo "Done!\n"
fi

覚えておいてください、これはほとんどテストされていません。問題が発生した場合は、問題を報告して、それに応じて回答を更新してください。

以上がMySQL タイムゾーンの包括的なリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート