我遇到了一個我無法理解的愚蠢問題。 爲什麼認爲下面的代碼段:PHP - 奇怪的時區偏移
public function getFormattedOffsetFrom($refTimezoneId = 'Europe/Paris', $format = 'G\hi') {
$timestamp = time();
$reference = new DateTime('@'.$timestamp);
$referenceTimeZone = new DateTimeZone($refTimezoneId);
$reference->setTimezone($referenceTimeZone);
$datetime = new DateTime('@'.$timestamp);
$datetime->setTimezone($this->timezone);
$offset = $this->timezone->getOffset($datetime) - $referenceTimeZone->getOffset($reference);
$prefix = '+';
if($offset < 0) {
$prefix = '-';
$offset = abs($offset);
}
return $prefix.date($format, $offset);
}
其中$這 - >時區是定位在歐洲/馬德里DateTimeZone的實例,產生+ 1h00時指定無參數????
巴黎和馬德里沒有時間抵消。我只是不明白。
非常感謝您的幫助! Florent
啊,你正在比較巴黎*對馬德里,對不起,我沒有得到。你能輸出原始偏移量來看看有什麼不對嗎?這可能是 – 2010-12-10 20:39:19
函數內部的一個錯誤,偏移量應該爲0 :) – Rolf 2010-12-10 20:41:04
我認爲你必須調試該函數並查看它出錯的地方... – 2010-12-11 11:35:28