Autor Zpráva
jamal
Profil *
Dobry, mam takovy problem, do promenne vkladam cas ve formatu date("Y-m-d"), a potrebuji k tomuto casu pridat napriklad 3 mesice.
Napr.: v promenne cas mam 2009-04-12 a potrebuji aby tam po zpracovani formulare bylo 2009-07-12

Diky za pomoc
AM_
Profil
$datum = explode('-', $puvodni_datum);
$o_3_mesice_pozdeji = date('Y-m-d', mktime(0, 0, 0, $datum[1]+3, $datum[2], $datum[0]));

Může se to jevit trochu neschůdné, ale je to nejspolehlivější řešení se zohledněním všech časových anomálií, jako jsou přestupné roky.
Taps
Profil
jamal
http://cz.php.net/manual/en/function.strtotime.php
srigi
Profil
AM_
To kam smeroval Taps je IMO logickejsie. Pomocou strtotime() ziskame timestamp, pripocitame v sekundach 3 mesiace a opat prevedieme na string pomocou mktime().
Joker
Profil
srigi
Pomocou strtotime() ziskame timestamp, pripocitame v sekundach 3 mesiace
Tady má ta úvaha háček- kolik sekund jsou 3 měsíce?
AM_
Profil
Nejsem si jistý, jestli strtotime() polyká i Y-m-d, ovšem jestli ano, tak to samozřejmě půjde:
$datum = strtotime($puvodni_datum);
$o_3_mesice_pozdeji = date('Y-m-d', mktime(0, 0, 0, date('n', $datum)+3, date('j', $datum), date('Y', $datum)));

Nevím nevím, co se týče schůdnosti to vyjde skoro na stejno.
Jinak Joker má pravdu - kolik sekud jsou 3 měsíce?
srigi
Profil
No ja som to spomenul len preto, ze sam parsovat string mi pride menej elegantne, ked je v PHP na to fnce. Inak samozrejme chybny usudok o pocte sekund za 3 mesiace uznavam.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: