ただし、希望のタイムゾーンで結果を取得する方法はあります。 まず、希望のタイムゾーンが MST から何時間ずれているかを決定します。 たとえば、EST は 2 時間です。 PST は -1 時間です。
時間オフセットがわかっているので、
SELECT NOW(); のすべての SQL ステートメントを置き換えることができます。
と
SELECT DATE_ADD(NOW(), INTERVAL 2 HOUR);
これにより、EST 日の結果が得られます。 PST での結果を得るには、次のようにします:
SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);
日付ではなく時間を秒単位で扱う場合は、秒単位のオフセットを考慮に入れます。 1 時間は 3600 秒あり、EST は MST より 2 時間遅いため、次の例ではタイムスタンプを MST から EST に変換します。
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP() (3600 * 2));
詳細については、MySQL マニュアルの日付と時刻の関数を参照してください。
アプリケーションによっては、次のいずれかを実行する必要がある場合もあります (両方ではありません):
1. ブラウザに日付または時刻が表示されるコード内のすべての場所を見つけて、ユーザー定義関数で変更して、表示する前に適切な時間数を加算または減算します。
2. 日付または時間がシステムに入力されているコード内のすべての場所を見つけて、ユーザー定義関数を使用して、保存する前に適切な時間数を加算または減算します。