2010-09-16 22 views
12

我想獲得今天的日期+一年。我如何用PHP的日期函數來實現這一點?PHP日期;如何找到下一年?

+1

的可能重複(http://stackoverflow.com/questions/3722442/how-do-i-display-a-date- [我如何加入了幾個月,就可以顯示日期]通過幾個月的增加) – Gordon 2010-09-16 07:15:40

回答

43
echo date('Y', strtotime('+1 year')); 
5

您可以使用strtotimedate

$date = '2010-09-16'; 
echo date('Y-m-d', strtotime("+12 months $date")); 
// 2011-09-16 

在一個旁註:日期時間類似這樣的問題已經回答了一遍又一遍,所以你可以發現如何通過using the search function添加到日期容易。

+1

不錯的格式化! :) – fabrik 2010-09-16 07:11:07

0

你可以使用新的日期時間,並在以後的PHP 5版本中引入Datetime_Intervall類。

我曾經發布了一個答案in this question。也許它可以幫助你:)

的優點是,這一類還檢查閏秒和飛躍年,時區等

6

從PHP的documentation

<?php 
    $date = new DateTime($your_supposed_date); 
    $date->add(new DateInterval('P1Y')); 
    echo $date->format('Y-m-d') . "\n"; 
?> 

戈登的乾淨多了版本(謝謝!):

<?php 
    $date = new DateTime("+12 months $theDate"); 
    echo $date->format('Y-m-d') . "\n"; 
?> 
+2

雖然正確和不錯,但請注意'DateTime :: __ construct'使用與'strtotime'相同的解析機制,所以您也可以執行'$ date = new DateTime(「+ 12 months $ theDate」); echo $ date-> format('Y-m-d')。 「\ n」;' – Gordon 2010-09-16 07:24:01

0

如果你使用時間戳工作

echo time()+60*60*24*365 
+0

閏年怎麼樣? – Gordon 2010-09-16 08:04:38

+1

time()+ 60 * 60 * 24 * 365.2425 – Flask 2010-09-16 08:21:35

1
$Ad_year = 2015-10-20 
<?php echo $Ad_year + 1?> 
Result 2016 
+0

@TobSpr,但確實如此。我不知道它是否有效,直到我嘗試它。但它確實試圖回答這個問題。我錯過了什麼? – 2015-10-18 00:19:59