服務器環境PHP UTC到當地時間
紅帽企業Linux
PHP 5.3.5
問題
比方說,我有一個UTC日期和時間,例如2011-04 -27 02:45我想 將它轉換爲當地時間,即America/New_York。
三個問題:
1)我下面的代碼可能會解決這個問題,你會同意嗎?
<?php
date_default_timezone_set('America/New_York'); // Set timezone.
$utc_ts = strtotime("2011-04-27 02:45"); // UTC Unix timestamp.
// Timezone offset in seconds. The offset for timezones west of UTC is always negative,
// and for those east of UTC is always positive.
$offset = date("Z");
$local_ts = $utc_ts + $offset; // Local Unix timestamp. Add because $offset is negative.
$local_time = date("Y-m-d g:i A", $local_ts); // Local time as yyyy-mm-dd h:m am/pm.
echo $local_time; // 2011-04-26 10:45 PM
?>
2.)但是,$ offset的值會自動調整爲夏令時(DST)嗎?
3.)如果不是,我應該如何調整我的代碼以自動調整DST?
謝謝:-)
你試過了嗎? – wallyk 2011-04-27 15:26:14
'date(「Z」)'總是返回時區'GMT + 0000',它沒有DST修正。 – 2011-04-27 15:37:12