0

私はアプリケーションを持っています.エンドユーザーはどの国の出身であるかもしれませんが、彼が何らかのアクションを行うとき、特定のタイムゾーンで日付を表示したいと考えています.

これを DB に挿入したいので、date_default_timezone_set(''); を使用してこれを行っています。日付()で

これは正しい方法ですか、それとも gmdate() を使用してタイムゾーンを追加する必要がありますか。

ありがとう

4

2 に答える 2

1

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オブジェクトを作成してから、タイムゾーンを適用していることに注意してください。この方法ははるかにクリーンです。

于 2012-11-04T04:11:02.060 に答える
0

GMTが必要な場合は、適切なタイムゾーンを使用する必要があると思います。Europe/London

  date_default_timezone_set('Europe/London');
于 2012-11-04T04:11:53.557 に答える