MySQL はあるタイム ゾーンから別のタイム ゾーンに変換します

Mysql Haarutaimu Zonkara Bienotaimu Zonni Bian Huanshimasu



「タイムゾーンは、開発者が対処しなければならない複雑な概念の 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


タイムゾーン ファイルを使用している場合は、次のコマンドを実行します。

mysql_tzinfo_to_sql tz_file tz_name | | mysql -の -p mysql


以下のリソースでタイムゾーン ファイルをダウンロードします。

https: /// dev.mysql.com / ダウンロード / timezones.html


ファイルをロードします。

mysql -の -p mysql < ファイル名


次に、名前でターゲットのタイムゾーンを指定できます。

mysql > CONVERT_TZ を選択 ( 「2022-10-10 14:34:00」 「米国/東部」 「米国/中部」 ) なので 時間 ;


上記のクエリは、次のようにターゲット タイムゾーンに変換された時間を返す必要があります。

+---------------------+
| | 時間 | |
+---------------------+
| | 2022年 - 10 - 10 13 : 3.4 :00 | |
+---------------------+
1 設定 ( 0.00 )

終わり

この短い投稿では、MySQL で convert_tz 関数を使用して、あるタイムゾーンから別のタイムゾーンに時間を変換する方法について説明しました。

ハッピーコーディング!!