私はこのスクリプトを実行しました:異なるタイムゾーンのタイムスタンプは同じですか?
echo date_default_timezone_get()."\n";
echo "----\n";
date_default_timezone_set('Asia/Kabul');
echo date_default_timezone_get()."\n";
echo "----\n";
echo time()."\n";
$dt = new DateTime;
echo $dt->format('U') . "\n";
echo "----\n";
date_default_timezone_set('UTC');
echo date_default_timezone_get()."\n";
echo "----\n";
echo time()."\n";
$dt = new DateTime;
echo $dt->format('U') . "\n";
と、すべての4つのタイムスタンプ値のために、それは言う:1325905766
。
新しいDateTimeは、タイムゾーンの設定に関係なく、常にタイムゾーンとしてUTCを設定するので、私はそれを取得しますが、time()
についてはどうですか?
数秒前に、別のサーバー(おそらくヨーロッパ(ideone.com)にはない)で、それは4回返します:1325905723
。
これは同じです! (明らかに数秒差がありますが、同じタイムゾーンです)
time()
常にUTCを返しますか?どうしたの??
私はまもなく同じような問題に遭遇しました。私は(プロファイルの設定を介して)ユーザごとにタイムゾーンを設定しようとしていましたが、 'date()'関数で変更されるのは最後のタイムゾーン識別子でした。それは実際に時間*自体を変えていませんでした。 – animuson
[PHP時間()はGMT/UTCタイムスタンプを返しますか?](http://stackoverflow.com/questions/4812170/does-php-time-return-a-gmt-utc-timestamp) – deceze