2017-02-27 99 views
-2

我是一個窗口10臺計算機上,我的電腦時間是上午09時29分三十秒時間在Windows 10 - XAMPP - PHP

下面的PHP代碼顯示錯誤的時間

echo date('Y-m-d H:i:s'); 

日期時間它顯示是2017-02-27 17:36:08,這怎麼可能?日期是正確的。

我的電腦在山地時間設定

enter image description here

+0

您的服務器可能是在不同的時區設置。 –

+0

http://php.net/manual/en/function.date-default-timezone-set.php – vikingmaster

+0

'echo date_default_timezone_get();' – AbraCadaver

回答

1

我猜你的服務器設置爲普通UTC,但你在PST區是。這非常好,事實上我強烈建議,[UTC用於存儲/計算,任何其他TZ僅用於輸出格式化],在格式化輸出時,只需要更加明確地顯示時區。

$utc = new DateTimeZone('UTC'); 
$pst = new DateTimeZone('America/Los_Angeles'); 

$utc_time = new DateTime('now', $utc); 
$pst_time = new DateTime('now', $pst); 

var_dump(
    $utc_time->format('Y-m-d H:i:s'), 
    $pst_time->format('Y-m-d H:i:s') 
); 

輸出:

string(19) "2017-02-27 18:20:09" 
string(19) "2017-02-27 10:20:09" 
0

是存在的,以任何機會,
一個問題,您的PHP或的Apache2版本的GMT格式?
就像你的電腦認識到你生活在華盛頓
,但腳本檢查倫敦的時間?
[因爲倫敦有GMT + 0]

0

嘗試調整時區:

無論是編輯的php.ini在[日期]節(\ XAMPP \ PHP \ php.ini中)date.timezone value

date.timezone = YourTimezone

或編輯的my.ini(\ XAMPP的\ mysql的\ BIN \ my.ini中)添加或更換

default-time-zone = YourTimezone

重新啓動Apache和MySQL

+0

我的電腦設置在山區時間 – user580950

0

我改變了代碼以下和問題進行了排序

ini_set("date.timezone", "America/Denver"); 
echo date('Y-m-d H:i:s'); 
+0

這就是我[建議](http ://stackoverflow.com/a/42491073/1405376)做:-) – jrn