2012-10-26 14 views

Odpowiedz

25

Jeśli DateInterval nie jest dla ciebie jasne, możesz użyć bardziej przejrzystego zmodyfikuj klasy DateTime.

$date = new DateTime(); 
$date->modify('+1 day'); 
$date->modify('+5 week'); 

wolę używać modyfikować, ponieważ sprawia, że ​​kod jest bardziej czytelny bez uwag

W przypadku wolisz używać DateInterval, tutaj jest dobra baza: http://www.php.net/manual/en/dateinterval.construct.php

Więc 5 tygodni będzie P5W, 3 miesiące to P3M, 5 tygodni i 3 miesiące P3M5W i tak dalej.

+1

Czy 'modify' zmienia DateTime obiektu wywołującego w linii? Czy muszę iść: '$ date = $ date-> modify ('+ 1 day');' – sergserg

+1

Tak, zmienia oryginalny obiekt (jak również dodaje DateInterval). Jeśli chcesz go zachować, możesz użyć clone: ​​'$ modDate = clone $ date; $ modDate-> modify ('+ 5 week'); ' –

+0

Z dokumentacji tej metody wynika, że ​​dodawanie lub odejmowanie miesięcy od daty może być niebezpieczne. Zauważyłeś to również? – craned

Powiązane problemy