$searchTime = date('Y-m-d H:i:s', (time() + strtotime("+5 day")));
的strtotime()被使用時, 「5天」
印刷searchTime返回2058-02-04 05:26:12
增加40年以上。任何想法爲什麼?
time()返回正確的時間,所以它不是問題。
$searchTime = date('Y-m-d H:i:s', (time() + strtotime("+5 day")));
的strtotime()被使用時, 「5天」
印刷searchTime返回2058-02-04 05:26:12
增加40年以上。任何想法爲什麼?
time()返回正確的時間,所以它不是問題。
你有效地從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"));
因爲你從現在5天添加時間,現在,到了時間。
echo date('Y-m-d H:i:s', strtotime("+5 day"));
// 2014-01-24 15:52:04
嘗試
$searchTime = date('Y-m-d H:i:s', strtotime("+5 day"));
並不奇怪:您要添加時間戳5天,因此到今天的時間戳。試試簡單的日期('Y-m-d H:i:s',strtotime(「+ 5 days」));' –
愚蠢的我。從來沒有想過要考慮strtotime可能是相對的。 –
閱讀[docs](http://www.php.net/manual/en/function.strtotime.php)有助於:'相對於現在給出的時間戳,或者當前時間(如果現在沒有提供)。 ' –