我在本地和臨時服務器上使用strtotime
函數,2014年10月28日的日期如echo strtotime('2014-10-28')
。PHP strtotime函數在同一日期在不同的服務器上給出不同的結果
本地服務器的結果:1414468800
臨時服務器的結果:1414425600
爲什麼會出現在不同的服務器和結果之間的差異如何解決這個問題?
我在本地和臨時服務器上使用strtotime
函數,2014年10月28日的日期如echo strtotime('2014-10-28')
。PHP strtotime函數在同一日期在不同的服務器上給出不同的結果
本地服務器的結果:1414468800
臨時服務器的結果:1414425600
爲什麼會出現在不同的服務器和結果之間的差異如何解決這個問題?
我認爲這是因爲兩個服務器有差異時區..
可以ATLEAST做到這一點:
$date = '2014-10-28'; // date
$timezone = 'America/Virgin'; // timezone you prefer
$date = new DateTime($date , new DateTimeZone($timezone));
echo $date->getTimestamp();
您可以在php.ini
文件中設置的時區。該值是
date.timezone = "Americas/New_York"
我覺得這個值是系統上的不同。
否則,您必須將其設置在您的腳本中,但我認爲最好將其設置在您的配置中。
是的,我認爲是。如果您沒有訪問服務器配置,則只能通過腳本執行此操作。 – 2014-10-27 11:16:56
我覺得它因爲不同的時區 – 2014-10-27 11:00:29
你可能會嘗試使用[time()](http://php.net/manual/en/function.time.php)函數。 – turtle 2014-10-27 11:02:18