1
SELECT CONVERT_TZ('2020-06-30 23:59:59','America/Caracas','US/Eastern');

これは '2020-07-01 00:29:59' を返します。これは、EST とベネズエラが実際には同じ時間を共有しているためです。

SELECT CONVERT_TZ('2020-06-30 23:59:59','US/Eastern','America/Caracas');

これは完全に理にかなっている「2020-06-30 23:59:59」を返します。

最初のクエリでは正しい時刻が返されないのに、2 番目のクエリでは返されるのはなぜですか?

助言がありますか?ありがとうございました!

4

1 に答える 1

0

観察された動作の最も可能性が高い説明は、不正確または古い time_zone 情報です。

カラクス、ベネズエラ

「2007-12-01」から「2016-06-01」までのタイムゾーン オフセットは UTC-04:30 です

「2016-06-01」以降、タイムゾーン オフセットは UTC-04:00 です


MySQL タイムゾーン テーブルがサーバー上の zoneinfo ファイルから読み込まれたのか、ダウンロードされたパッケージから読み込まれたのかはわかりません。

いずれにせよ、CONVERT_TZ 関数で使用されているのは、mysql データベースのタイムゾーン テーブルの情報です。

于 2016-09-29T18:49:29.900 に答える