「タイムゾーンは、開発者が対処しなければならない複雑な概念の 1 つです。リレーショナル データベースのツールと実装は、それらを許容できるようにすることを目的としていますが、困難であることが判明し、場合によってはエラーにつながる可能性があります。
ただし、この記事では、MySQL を使用してあるタイムゾーンから別のタイムゾーンに時間を変換する方法について説明します。」
MySQL Convert_Tz() 関数
MySQL の convert_tz() 関数を使用すると、あるタイムゾーンから別のタイムゾーンに変換できます。関数の構文は次のとおりです。
CONVERT_TZ ( dt、from_tz、to_tz )
この関数は、変換する datetime 値、変換元のタイムゾーン、および変換先の convert を受け取ります。
MySQL では、タイムゾーンを名前またはオフセット値として指定できます。この関数は、選択された Datetime オブジェクトをターゲット タイムゾーンで返します。
例 1
以下は、タイムゾーン オフセットを使用して時間文字列を EST から EAT に変換する方法を示す例です。
選択するconvert_tz ( 「2022-08-08 22:22:22」 、
「+00:00」 、
「+03:00」 ) なので 時間1;
上記のクエリの例では、次の出力が返されます。
| | 時間1 | |
| | ------------------- | |
| | 2022年 -08-09 01: 22 : 22 | |
例 2
前述のように、ターゲットのタイムゾーンをその名前で指定できます。ただし、これには MySQL Timezones をダウンロードしてインストールする必要があります。
以下のコマンドを実行して、タイムゾーンをロードできます。
$ mysql_tzinfo_to_sql / ユーザー / シェア / ゾーン情報 | | mysql -の 根 -p mysql
タイムゾーン ファイルを使用している場合は、次のコマンドを実行します。
以下のリソースでタイムゾーン ファイルをダウンロードします。
ファイルをロードします。
次に、名前でターゲットのタイムゾーンを指定できます。
上記のクエリは、次のようにターゲット タイムゾーンに変換された時間を返す必要があります。
| | 時間 | |
+---------------------+
| | 2022年 - 10 - 10 13 : 3.4 :00 | |
+---------------------+
1 行 の 設定 ( 0.00 秒 )
終わり
この短い投稿では、MySQL で convert_tz 関数を使用して、あるタイムゾーンから別のタイムゾーンに時間を変換する方法について説明しました。
ハッピーコーディング!!