2011-06-23 6 views
1

その他何も関係していませんDoing calculations in MySQL vs PHPMySQLのタイムゾーン設定 - NOW()を使用していますか?

ここで、データベースはシステム時刻がUTCであると仮定し、それを使ってNOW()を計算します。 PHPは明示的にタイムゾーンをUTCとして設定しています(サーバーのタイムゾーンのシフトに影響されません)。

データベースレベルでこの関係を台無しに、サーバー上のタイムゾーンを誤ってシフトし、私は今、理想的なcongigurationを把握しようとしている:

  1. はなく、から、UTCにあるようにMySQLを設定します私たちのアプリケーションは別のTZを持つ可能性がある(つまり、私はmysql /サーバーレベルでタイムゾーンを設定できません)他の誰かのサーバー上にあるかもしれません。特定のデータベースレベルでどのように構成すればよいですか?

答えて

3

UTC_TIMESTAMP()を確認してください。これにより、タイムスタンプフィールドは常にデータベース内のUTCになります。あなたのPHPスクリプトは、ユーザーのブラウザ情報からオフセットを行います。これは、DATE_ADD/DATE_SUBまたはより良いCONVERT_TZ()を使用して行うこともできます。

1

PHPは、データベースに保存する前に設定してください。 GMTに設定して、必要に応じてユーザーのタイムゾーンに基づいて表示するタイミングを計算します。

関連する問題