2014-01-15 47 views
0

$searchTime = date('Y-m-d H:i:s', (time() + strtotime("+5 day")));的strtotime()被使用時, 「5天」

印刷searchTime返回2058-02-04 05:26:12增加40年以上。任何想法爲什麼?

time()返回正確的時間,所以它不是問題。

+0

並不奇怪:您要添加時間戳5天,因此到今天的時間戳。試試簡單的日期('Y-m-d H:i:s',strtotime(「+ 5 days」));' –

+0

愚蠢的我。從來沒有想過要考慮strtotime可能是相對的。 –

+0

閱讀[docs](http://www.php.net/manual/en/function.strtotime.php)有助於:'相對於現在給出的時間戳,或者當前時間(如果現在沒有提供)。 ' –

回答

5

你有效地從0增加「今天」(time())的時間戳的「今天+ 5日」時間戳(strtotime('+5 day'))其中,考慮到的「今天」時間戳〜40年以上,這說得通。你可以閱讀關於Unix time here的更多關於「開始時間」的深入解釋。

爲了解決這個問題,刪除time() +部分,只是使用的strtotime('+5 day')返回值:

$searchTime = date('Y-m-d H:i:s', strtotime("+5 day")); 
2

因爲你從現在5天添加時間,現在,到了時間。

echo date('Y-m-d H:i:s', strtotime("+5 day")); 
// 2014-01-24 15:52:04 
1

嘗試

$searchTime = date('Y-m-d H:i:s', strtotime("+5 day"));