2012-01-21 11 views
0

OK。だから私はタイマーを実装しようとしています。今、非常に奇妙なことが起こっていると私はなぜ理解できないのですか?Mysqlの現在のタイムスタンプと異なる値を示す時刻()

基本的に私は最後のアクセスと現在の時刻の差を見つけようとしています。私は最後のアクセスの時間をデータベースに保存しています。この値はサーバ時間に応じて決まります。しかし、私がphpのtime()関数を試してみると、データベースにある時間の5〜6時間後の値が表示されます。例えば

:ここに私のコードです:

$t1= strtotime($played_row->timer); // Time from the database with CURRENT_TIMESTAMP 

    $t2= strtotime("now"); // Get the current time 

それは年を示しています。2012月:01日:21 - T2

とイヤーのための午前5時28分午後:2012月:01日:私のタイムスタンプ値は21〜10:28 pmです。

誰も私の理由を教えてもらえますか?

P.S:自分のコンピュータ上でコードを実行しています。

答えて

2

おそらくこれはタイムゾーンの問題です。東部のタイムゾーンにいる場合、現在はUTCから5時間離れています。 1つのシステムが現地時間を返す場合、別のシステムがUTCを返す場合、これが表示されます。

+0

私は自分のコンピュータ上でコードを実行しています。 – aradhya

+1

しかし、それはあなたのコンピュータ上のすべてのソフトウェアが現地時間帯で時刻を報告するというわけではありません。実際にUTCは時間を報告するための標準的な方法です。 PHPとMySQLの設定ファイルを確認してください。 – nicolaskruchten

+0

Ohk。とった。今働いている。 date_default_timezone_set()を使用して – aradhya

4

あなたのデータベースとPHPは、2つの異なるタイムゾーンオフセットを使用していると思います。

1

date_default_timezone_set()を使用して、データベースで使用されているPHPでタイムゾーンを設定してみてください。

date_default_timezone_set - Alseは、INI設定されたタイムゾーンを取得するdate_default_timezone_get()方法を見る

スクリプト内のすべての 日付/時刻関数で使用されるデフォルトタイムゾーンを設定します。

関連する問題