2011-03-02 26 views
33

我有這種格式的日期2011年3月3日在數據庫中,我需要延長7天。我的意思是php - 添加+日期格式7天mm dd,YYYY

 $date = $date + 7
。是否有任何構建功能來做到這一點?

+1

可能重複(HTTP:/ /stackoverflow.com/questions/2332681/add-number-of-days-to-a-date) – Gordon 2011-03-02 23:27:39

+0

數據庫中的日期類型是什麼格式?最好的辦法是將數據拉出並通過自己的函數運行,將額外的日子遞增到字符串,然後將其彈回到數據庫中。 – 2011-03-02 23:27:46

+0

以及更多http://stackoverflow.com/search?q=add+7+days+date+php – Gordon 2011-03-02 23:28:10

回答

97
$date = "Mar 03, 2011"; 
$date = strtotime($date); 
$date = strtotime("+7 day", $date); 
echo date('M d, Y', $date); 
+1

還有無論如何比較最後的形式和今天的日期嗎? (例如,如果($ date <當前日期){echo'日期在過去'}} – Michael 2011-03-02 23:59:27

+0

@Michael strtotime的結果是一個整數,該整數表示自UNIX紀元以來的秒數(1970年1月1日00: 00:00)。這些整數可以用你剛剛使用的確切代碼進行比較。 – 2011-03-03 00:23:29

+0

@Michael'time()'函數可以用來比較當前的日期/時間作爲UNIX時間戳 – 2011-03-03 00:40:55

3

$oneweekfromnow = strtotime("+1 week", strtotime("<date-from-db>")); 

在另一方面,你爲什麼在那樣的數據庫中的日期?

16

的「+1個月」的問題用的strtotime

正如一些網友指出,的strtotime()解決了「+1月」(「下月」)問題上不存在中日接下來的一個月與其他實現例如MySQL不同。

$dt = date("Y-m-d"); 
echo date("Y-m-d", strtotime("$dt +1 day")); // PHP: 2009-03-04 
echo date("Y-m-d", strtotime("2009-01-31 +2 month")); // PHP: 2009-03-31 
5

echo date('d/m/Y', strtotime('+7 days'));

+0

最後的答案爲我工作!好而簡單 - 歡呼! – Notorious 2017-05-18 09:43:51

6

另一個更近和對象樣式的方式做到這一點:

$date = new DateTime('now'); 
$date->add(new DateInterval('P7D')); 

php doc of datetime add

的[天數添加到日期]
相關問題