當我寫這行的本地代碼,輸出將是這樣的:爲什麼time()函數在不同的服務器上返回不同的值?
echo time(); // 1464605083
當我寫的3v4l(在線PHP殼)輸出將是這樣的:
echo time(); // 1339412843
正如您所見,這些輸出之間存在巨大差異。怎麼了?我該如何同步它們?
注:我使用XAMPP在我的地方。
當我寫這行的本地代碼,輸出將是這樣的:爲什麼time()函數在不同的服務器上返回不同的值?
echo time(); // 1464605083
當我寫的3v4l(在線PHP殼)輸出將是這樣的:
echo time(); // 1339412843
正如您所見,這些輸出之間存在巨大差異。怎麼了?我該如何同步它們?
注:我使用XAMPP在我的地方。
那個時區將根據您所使用的服務器是有所不同。如果你想在你的所有服務器上使用相同的時區。使用
date_default_timezone_set('timezonename')
謝謝.. +1 –
歡迎。如果它是有用的。標記爲正確答案。歡呼聲 –
您正在測試的網絡服務器具有完全關閉的系統時間設置。
如果你看看測試腳本的日期(在標題欄旁邊),你會發現它已被保存在@ Mon Jun 11 2012 11:07:23
。您的時間戳1339412843
轉換爲06/11/2012 @ 11:07am (UTC)
因此,服務器時間是錯誤的。如果時間緊迫,請在其他地方測試腳本。
我明白了,但是我怎樣才能爲我的PHP設置默認值?在哪個文件的配置? * php.ini中*? –
好的,謝謝。 +1 –
使用時區,我希望它的工作...
<?php
date_default_timezone_set('America/New_York');
echo $date= time() ;
?>
謝謝.. upvote –
如果你得到了從代碼後面的時間不正確的時間,這可能是因爲你的服務器是在其他國家或設置爲不同的時區。
因此,如果您需要時間根據特定位置正確,您可以設置一個時區以供使用。
下面的示例將時區爲「美國/紐約」,然後輸出在指定格式的當前時間:
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
謝謝.. +1 –
看一看[這裏](http://stackoverflow.com/questions/ 13978567/time-returns-different-timestamps-based-on-server)似乎與您目前的問題非常相似。 – Andrew
@DainisAbols我這麼認爲,但我怎樣才能改變我的本地時區?這取決於我的操作系統*(Windows)*或PHP有它自己的時區? –
'05/30/2016 @ 10:44 am(UTC)'vs'06/11/2012 @ 11:07 am(UTC)'看起來不像時區問題。你有沒有在兩臺機器上檢查系統日期? –