PHPでtime()が1時間ずれているのはなぜですか?
質問
次のコードを使用して、現在の日付と時刻をデータベースに追加しています:
$current_date_time = time();
echo date('n/j/y g:ia',$current_date_time);
11/29/09 11:38 amの場合、11/29/09 12:38 amと表示されます
時刻は1時間進んでいます。私は太平洋時間帯におり、ホスティングプロバイダーはユタ州の山岳地帯にあります。これが1時間進んでいる理由でしょうか?
この問題を解決するにはどうすればよいですか?時間から1時間を削除する必要がありますか?もしそうなら、どうすればいいですか?または、タイムゾーンの違いを説明する他の方法があるので、太平洋時間帯の時間に表示されますか?
解決
PHPスクリプトでタイムゾーンを明示的に設定することで解決します。これは、 date_default_timezone_set()
を使用して実行できます。 :
date_default_timezone_set('America/Los_Angeles');
を呼び出すテストスクリプトを試すこともできます。 date_default_timezone_get()
で実際に設定されている内容を確認し、これが実際に問題であることを確認します。
所属していません StackOverflow