2013-07-10 122 views
-1

我有一個令人難以置信的困難時期,甚至閱讀的主題....使用的strtotime和日期時間添加到日期

date('Y-m-d',strtotime("+3 months",date('Y-m-d'))) 

爲什麼不是回報堆棧溢出上房問題後認識的strtotime 2013-10-09(給出今天的日期是2013-07-09

相反,它返回1970-03-31 PHP默認日期後3個月。

+1

http://php.net/manual/en/function.time.php - 日期用於格式化時間戳。如果你想得到當前的時間戳,使用'time()'。 – Ariane

回答

3

因爲strtotime()預計,第二個參數是數字:

date('Y-m-d',strtotime("+3 months", time())) 

甚至

date('Y-m-d',strtotime("+3 months")) 

PS:如果使用error_reporting水平,包括E_NOTICE並檢查你的日誌,你可以找到它自己。

在您的開發服務器上開啓display_errors至少E_ALL,開啓error_reporting是個好主意。作爲一名開發人員,你想成爲第一個看到你的錯誤的人,不是嗎?

+0

現在我覺得很傻。謝謝你,先生。 –

+0

所以我正在採取字符串「+3個月」,並添加到日期('Y-m-d')格式的時間()......正確嗎? –

+0

@Hydra IO:您正在使用'time()'向其添加'+3個月',並使用'date'格式化結果時間戳。 – zerkms