我被告知下面這種計算用戶當地時間的方法有時不起作用。在PHP中執行此操作的最佳方法是什麼?你是做什麼?如何處理PHP中的時區差分計算?
public function getTimeOffset ($time) {
$this->_cacheTimeOffset();
if ($this->timeOffsetExecuted) {
$d = date("O");
$neg = 1;
if (substr($d, 0, 1) == "-") {
$neg = -1;
$d = substr($d, 1);
}
$h = substr($d, 0, 2)*3600;
$m = substr($d, 2)*60;
return $time + ($neg * ($h + $m) * -1) + (($this->timeOffset + $this->getDstInUse()) * 3600);
}
return $time;
}
我目前允許用戶在他們的個人資料中指定他們的時區。你是否在說我應該能夠通過PHP動態調用它,而不必問他們的時區? – Webnet 2010-11-29 14:34:45
@Webnet - 您仍然需要用戶將其當前時區放入其配置文件中。可能你可以提供一個時區列表,讓用戶選擇。 `DateTimeZone :: listIdentifiers`能夠提供完整的時區支持列表,詳細信息 - http://www.php.net/manual/en/datetimezone.listidentifiers.php – ajreal 2010-11-29 18:28:42