2011-10-21 10 views
1

私は現在の時刻とタイムスタンプの差(たとえば2011-10-21 11:16:00)を計算するPHP関数を作成しています。これはmySQLデータベーステーブルから取得します。時間の差を計算すると間違った結果が表示される

問題: 計算時間差は6時間ずれているようです!私はコードをチェックし、タイムスタンプが数時間前に6時間の時間差になった理由を理解することができません!しかし、変数$datetime_nowを特定の値に設定すると、計算された時間差は正しいです!正しい方向で私を指すための助けがあれば大いに感謝しています!

PHPコード:

$datetime_now = new DateTime; 
$datetime_post = new DateTime($results[$key]['post_timestamp']); //ie. 2011-10-21 11:16:00 
$interval = $datetime_now->diff($datetime_post); 
$hours = $interval->format('%h'); 

追加情報:

私はローカルマシン上のWebサーバー(XAMPPパッケージ)を実行している、と同じシステムからWebページにアクセスしています。

+0

あなたのタイムゾーンは何ですか? MySQLは異なるタイムゾーンにタイムスタンプフィールドを格納しています。実際のタイムゾーンは –

答えて

3

タイムゾーン、GMT-6だと思いますか?すべてのトランザクションに対してUTCを使用して修正し、最後の段階で現地時間に変換します。あなたのサーバーのロケール設定を確認し、あなたが住んでいる場所と異なることになると思います。

+0

です。私はボストンにいますが、タイムゾーンはUTC/GMT -5時間ですか?エラーは6時間ですが、私のサーバー設定を確認させてください、私はApache設定の下でそれらを見つけますか、PHPかMYSQLのどちらかにありますか? – Nyxynyx

+0

サーバーはボストンにありますか? –

+0

あなたはどのような種類のホスティングサーバーを使用していますか? Linux/Windows?あなたは端末アクセス権を持っていますか? – Whetstone

関連する問題