我跑這個腳本:不同的時區有相同的時間戳?
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 2012-01-07 03:27:28
[PHP的時間()是否返回GMT/UTC時間戳?](http://stackoverflow.com/questions/4812170/does-php-time-return-a-gmt-utc-timestamp) – deceze 2012-01-07 03:36:58