0

いくつかのロジックをphpコードからmysqlクエリに移動したかったのですが、これには常にUTCを参照する必要がある日時の計算が含まれていました。

私が関数で使用しているphpにはini_set('date.timezone', 'UTC');、一貫性を保証するためのものが含まれています。

システムのタイムゾーンを常に制御できるとは限らないため、接続ごとにタイムゾーンを設定しましたSET time_zone = 'UTC';。これにより、MySQLクエリ内で派生日付が使用される場所はすべてUTCになります。

ただし、ドキュメントからも、TJ Crowderによる同様の質問に対する優れた回答からも、これが影響を与えるかどうかはわかりません。

ADDDATE() ADDTIME() or DATE_ADD()

つまり、これらはセッションのタイムゾーンに基づいて夏時間を考慮に入れるか、またはこれらのアカウントを夏時間に関係なく行います。

CONVERT_TZ(dt,from_tz,to_tz)後者の場合-MySQLシステムテーブルからfrom_tzを導出する場所を使用して、たとえばADDTIME()計算の結果をキャストすることは可能ですか。

注:-@@global.time_zone, @@session.time_zone return 'SYSTEM'タイムゾーンが設定されていない場合は、変換に使用できないことがわかっています。

4

0 に答える 0