我UTC格式存儲日期在數據庫中,還用戶有時間偏移如何糾正澳大利亞
這裏是我的代碼
$this->timezoneName = timezone_name_from_abbr("", 10 * 3600, 0);
$d = new \DateTime($date);
$d->setTimezone(new \DateTimeZone($this->timezoneName));
return $d->format("d.m.Y H:i");
所有工作正確的,對於任何$ 0偏移到+9,但爲+10(澳大利亞)它返回日期偏移+11而不是+10 如何解決它?
更新 - 這裏是更正確的代碼
$this->timezoneName = timezone_name_from_abbr("", $offset * 3600, 0);
$d = new \DateTime('8.11.2016 10:00:00', new \DateTimeZone('UTC'));
$d->setTimezone(new \DateTimeZone($this->timezoneName));
return $d->format("d.m.Y H:i");
我得到2016年8月11日21:00
尋求調試幫助的問題(「爲什麼不是這個代碼工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:[如何創建最小,完整和可驗證示例](https://stackoverflow.com/help/mcve)。 –
澳大利亞目前GMT + 11(至少在Caberra)。 –
當然,澳大利亞不僅有一個時區。在阿德萊德,時區爲格林威治標準時間+10.5分,柏斯時區格林威治標準時間+8分。這個問題太廣泛了。 –