2016-09-28 31 views
-4

我在mac上運行XAMPP。php中的time()函數表示當前時間爲1970

我有一個非常簡單的腳本:

<?php 
echo time(); 

總是返回的時間在1970年

例如:1475044574(編輯:1475137157)

我試着設置php.ini中的時區然後調用date_default_timezone_get()並返回正確的設置值。

我嘗試將SetEnv TZ MyTimezone添加到httpd.conf(位於該文件的底部),但它不起作用。

我也試圖與date_default_timezone_set設定時區在PHP(),雖然它設置成功後,時間仍然是在1970年

我試過MAMP相同的腳本,仍然同樣的問題。

任何建議表示讚賞!

+1

但是你的例子(1475044574)是Wed,28 Sep 2016 06:36:14 GMT – Bart

+0

1970年的時間永遠不會是'1475044574' –

+0

是什麼讓你覺得時間在1970?提示,它不是 – Anigel

回答

0

時間函數正在返回適當的unix時間戳,您在將時間轉換爲正確的格式時出錯。 1475044574意味着星期三,28九月2016 06:36:14 GMT這是正確的。

您可以根據需要轉換時間。請參閱date formats

檢查此示例代碼:

回波日期( 'MĴÿ克:I A',1475044574);

兄弟,按照PHP手冊php.net/manual/en/function.time.php time()函數返回的秒數不是毫秒。請檢查時間戳在這個網站epochconverter.com上的時間戳。

+0

堅持,那很奇怪。最近兩天我正在測試腳本,並在currentmillis.com上轉換時間。時間總是在1970年。我最後一次運行劇本,在這裏複製了這個問題的時間,沒有檢查。它突然是正確的日期? – Brainiac

+0

兄弟,按照PHP手冊http://php.net/manual/en/function.time.php time()函數返回的秒數不是毫秒。請檢查本網站http://www.epochconverter.com/上的時間戳。 –

+0

哦,這很尷尬。我在過去的兩天裏多次閱讀了這個函數的文檔,從未注意到這一點。你可以把它作爲答案嗎? – Brainiac

1

time()功能returns current Unix timestamp。所以,你的1475044574是一個時間戳。

使用date功能,你可以看到,這是一個時間戳(一些變化與時區,結果可能會有所不同):

echo date('Y-m-d H:i:s', 1475044574); 
// 2016-09-28 02:36:14 

如果此時間戳轉換爲某種字符串表示,並得到類似00-00-1970 - 你顯然做了轉換錯