2011-11-13 8 views
2

私は人々が物事を投稿できるウェブサイトを持っています。投稿すると、データベースに挿入され、データベースにタイムスタンプが追加されます。日付をデータベースから別のタイムゾーンに変換する

ローカルマシンでデータベースをホストしたとき、タイムスタンプは自分のタイムゾーンにありました。私の新しいホスティングウェブサイトはGMT時間に設定されています。

タイムゾーンで時刻を表示させるにはどうすればよいですか?私は追加しようとしました

date_default_timezone_set('America/New_York'); 

私の意見はタグの直下にありますが、それは助けになりません。何か案は?

+0

を推測働くべきですか? –

+0

いいえ、残念ながら。 – swl1020

答えて

3
// Set the time zone 
$dateTimeZone = new DateTimeZone('America/New_York'); 

// Create the datetime and set the timestamp 
$dateTime = new DateTime(); 
$dateTime->setTimestamp($timestamp); 

// Convert it 
$dateTime->setTimeZone($dateTimeZone); 

echo $dateTime->format('m/d/Y H:i:s'); 

は、私は、サーバー上のタイムゾーンを変更することができます

+0

データベースのタイムスタンプ機能を使用するのではなく、データベースに挿入するときにこれを行いますか? – swl1020

+0

もう2つの方法があります。 Webサーバーにdatetime値/ timestamp値を作成し、データベースに挿入して(Webサーバーのタイムゾーンに時間を保存する)、GMTで時刻を取得してWebサイトで変換します。 (私の答えの例)しかし、2つを同期させるのが最善でしょう。これは、ある時点(何らかの時点でNOW()を忘れている) – mobius

+0

あなたの例は私にこのエラーを与えます 致命的なエラー:非オブジェクトのsetTimeZone()メンバ関数を呼び出します – swl1020

関連する問題