2014-10-27 26 views
1

我在本地和臨時服務器上使用strtotime函數,2014年10月28日的日期如echo strtotime('2014-10-28')PHP strtotime函數在同一日期在不同的服務器上給出不同的結果

本地服務器的結果:1414468800

臨時服務器的結果:1414425600

爲什麼會出現在不同的服務器和結果之間的差異如何解決這個問題?

+3

我覺得它因爲不同的時區 – 2014-10-27 11:00:29

+0

你可能會嘗試使用[time()](http://php.net/manual/en/function.time.php)函數。 – turtle 2014-10-27 11:02:18

回答

3

我認爲這是因爲兩個服務器有差異時區..

可以ATLEAST做到這一點:

$date = '2014-10-28'; // date 
$timezone = 'America/Virgin'; // timezone you prefer 


$date = new DateTime($date , new DateTimeZone($timezone)); 

echo $date->getTimestamp(); 
1

您可以在php.ini文件中設置的時區。該值是

date.timezone = "Americas/New_York"

我覺得這個值是系統上的不同。

否則,您必須將其設置在您的腳本中,但我認爲最好將其設置在您的配置中。

+0

是的,我認爲是。如果您沒有訪問服務器配置,則只能通過腳本執行此操作。 – 2014-10-27 11:16:56

相關問題