2010-09-16 10 views
12

Chcę uzyskać dzisiejszą datę + jeden rok. Jak osiągnąć to za pomocą funkcji daty PHP?Data PHP; Jak znaleźć następny rok?

+1

możliwe duplikat [Jak wyświetlić datę dodając kilka miesięcy do niego] (http://stackoverflow.com/questions/3722442/how-do-i-display-a-date- dodając-kilka miesięcy na to) – Gordon

Odpowiedz

5

Można użyć strtotime i date

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

Na marginesie: pytania DateTime jak to zostały wysłuchane w kółko, więc mogłeś znaleźć jak dodać do daty łatwo using the search function.

+1

Ładne formatowanie! :) – fabrik

0

Można użyć nowego datetime i Datetime_Intervall-klasy wprowadzone w późniejszych PHP 5-wersjach.

Raz wysłałem odpowiedź: in this question. Może to pomaga :)

Zaletą jest to, że te zajęcia sprawdza również dla LEAP sekund i LEAP lat, stref czasowych itp

6

Od PHP documentation: znacznie czystsze

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

Gordona wersja (dziękuję!):

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

Podczas gdy jest to poprawne i dobre, zwróć uwagę, że 'DateTime :: __ construct' używa tego samego mechanizmu analizowania, co' strtotime', więc możesz także zrobić '$ date = new DateTime (" + 12 miesięcy $ theDate "); echo $ date-> format ("Y-m-d"). "\ n"; ' – Gordon

0

Jeśli pracujesz ze znaczników czasu

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

co powiesz na lata przestępne? – Gordon

+1

time() + 60 * 60 * 24 * 365.2425 – Flask

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

@TobSpr, Ale tak. Nie wiem, czy to działa, dopóki go nie spróbuję. Ale stara się odpowiedzieć na pytanie. Czego mi brakuje ? –