私はアプリケーションを持っています.エンドユーザーはどの国の出身であるかもしれませんが、彼が何らかのアクションを行うとき、特定のタイムゾーンで日付を表示したいと考えています.
これを DB に挿入したいので、date_default_timezone_set(''); を使用してこれを行っています。日付()で
これは正しい方法ですか、それとも gmdate() を使用してタイムゾーンを追加する必要がありますか。
ありがとう
私はアプリケーションを持っています.エンドユーザーはどの国の出身であるかもしれませんが、彼が何らかのアクションを行うとき、特定のタイムゾーンで日付を表示したいと考えています.
これを DB に挿入したいので、date_default_timezone_set(''); を使用してこれを行っています。日付()で
これは正しい方法ですか、それとも gmdate() を使用してタイムゾーンを追加する必要がありますか。
ありがとう
date_default_timezone_set()
いいえ、タイムゾーンの変換には使用しないでください。これは、意図しない副作用を引き起こす可能性があります。
代わりに、これを使用してください:
$tz = new DateTimeZone('America/Los_Angeles');
$date = new DateTime('Thu, 31 Mar 2011 02:05:59 GMT');
$date->setTimeZone($tz);
echo $date->format('l F j Y g:i:s A I')."\n";
UTC時刻を使用してDateTimeオブジェクトを作成してから、タイムゾーンを適用していることに注意してください。この方法ははるかにクリーンです。
GMTが必要な場合は、適切なタイムゾーンを使用する必要があると思います。Europe/London
date_default_timezone_set('Europe/London');