如何調整時差 (2/2)
來源: Jollen 網路學院
作者: Jollen
接下來,要如何知道兩個不同時區之間的時差呢?方法很簡單,只要以格林威治時間為主,計算出兩地之間的時間相對關係即可。
首先,我們先呼叫 date("Z")
取得本機時區與格林威治時間的時差,並且在台灣時區 (CST)
的機器上執行:
<?php $t = date("Z");
//使用 UNIX 指令取得時區字串
$zone = `date +%Z`;
echo "My timezone: $t ($zone)";
?> |
上面這段程式執行後會輸出:
單位是秒喔!也就是 CST 時區與格林威治的時差是 28800
秒。接下來同樣的程式再放到米國的機器上跑,會出現底下的畫面:
My timezone: -21600 (MDT ) |
依不同時區,輸出結果也會不同。由這裡可以看出 MDT
時區和格林威治時間差了 -21600 秒。
因此,謎題揭曉,台灣與 MDT 時區的時差就是 28800-(-21600) = 50400
秒。也就是兩地相對而言,MDT 比 CST 慢了 50400 秒,所以我們將 MDT + 50400
秒就會等於 CST 時間。
--Jollen |