MySQL でタイム ゾーンを構成する方法: 詳細ガイド
MySQL は、さまざまな方法でタイム ゾーンを柔軟に管理できます。ここでは、タイム ゾーンを効果的に設定するのに役立つ包括的なガイドを示します。
my.cnf ファイルのデフォルト タイム ゾーン
MySQL 構成ファイル ("my.cnf") ")、デフォルトのタイムゾーンは、次のコマンドを使用して [mysqld] セクション内で指定できます。ディレクティブ:
default-time-zone='+00:00'
この行は、デフォルトのタイムゾーンを UTC (協定世界時) に設定します。
グローバル タイム ゾーン変数
@ @global.time_zone 変数には、グローバル タイム ゾーン設定が保存されます。現在の値を確認するには:
SELECT @@global.time_zone;
グローバル タイム ゾーンを設定するには:
SET GLOBAL time_zone = '+8:00'; SET GLOBAL time_zone = 'Europe/Helsinki';
セッション タイム ゾーン変数
@@ session.time_zone 変数は、現在の接続のタイムゾーンを制御します。値を表示するには:
SELECT @@session.time_zone;
セッションのタイムゾーンを設定するには:
SET time_zone = 'Europe/Helsinki'; SET time_zone = "+00:00";
@@session.time_zone と @@global.time_zone は両方とも、時間を示す SYSTEM を返すことができます。ゾーンは my.cnf から継承されます。
追加注
名前付きタイムゾーン (「ヨーロッパ/ヘルシンキ」など) を有効にするには、MySQL タイムゾーン テーブルに適切にデータを設定する必要があります。
TIMEDIFF() 関数を使用して取得できます。現在のタイム ゾーン オフセット。
UNIX_TIMESTAMP() およびUNIX_TIMESTAMP(NOW()) は、現在の UNIX タイムスタンプを提供します。
タイムスタンプを UNIX タイムスタンプに変換するには、SELECT UNIX_TIMESTAMP(timestamp) FROM table_name を使用します。
UNIX タイムスタンプとして UTC 日時列を取得するには: SELECT UNIX_TIMESTAMP(CONVERT_TZ(utc_datetime, ' 00:00', @@session.time_zone)) FROM table_name.
タイムゾーンを変更しても、保存されている日時値やタイムスタンプ値は変更されませんが、内部的に UTC タイムスタンプとして保存されるため、表示方法に影響します。 .
以上がMySQL でタイムゾーンを効果的に構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。