1
隨意在這裏運行代碼:http://codepad.org/SAOaOABn爲什麼澳大利亞/布里斯班(UTC + 10)產生的時間值小於UTC?
代碼:
<?php
$time = time();
echo date_default_timezone_get()."\n";
echo mktime(gmdate("H", $time), gmdate("i", $time), gmdate("s", $time), gmdate("m", $time), gmdate("d", $time), gmdate("Y", $time))."\n";
date_default_timezone_set('Australia/Brisbane');
echo date_default_timezone_get()."\n";
echo mktime(gmdate("H", $time), gmdate("i", $time), gmdate("s", $time), gmdate("m", $time), gmdate("d", $time), gmdate("Y", $time));
輸出:
UTC
1297828288
Australia/Brisbane
1297792288
我的問題是,爲什麼澳大利亞/布里斯班(UTC + 10)產生時間值小於UTC?
Unix時間戳是自1970年1月1日(UTC)以來經過的秒數。因此,您正在更改時區,但不會更改時間,然後將其轉換爲UTC。 – Jacob 2011-02-16 04:08:18