Autor Zpráva
Martin82
Profil *
Potreboval bych k datu formatu napr. '2006-05-04' pricist 14 dni - tzn. vysledek bude '2006-05-18'.
roberta
Profil
vypíše o 14 dní väčší dátum, ako je teraz

echo date ("Y-m-d", mktime (0,0,0,date("m"), date("d")+14, date("Y")));
MzM
Profil
převést na time, přičíst patřičný počet sekund a převést zpět. Viz manuál a fce
mktime()
date()
MzM
Profil
a nebo lépe podle roberta
Martin82
Profil *
MzM: no taktez me to napadlo, tak fajn... dik...
Martin82
Profil *
roberta: jenze to mi da 14 dni k aktualnimu datu a to mi nepomuze...
roberta
Profil
$datum = strtotime("2006-05-04");
echo date ("Y-m-d", mktime (0,0,0,date("m", $datum), date("d", $datum)+14, date("Y", $datum)));
Martin82
Profil *
tak tady je me reseni:
list($year, $month, $day) = explode("-", $datum);
$datum=date('Y-m-d', mktime(0, 0, 0, $month, $day+14, $year));
ronnie
Profil
Vy jste vrahouni:)

echo date("d. m. Y", strtotime("+2 weeks"));
Martin82
Profil *
No nevim, zda vrahouni...
To, co jsi napsal ty, mi moc nepomuze, jelikoz nechci 14dni od dnesniho data, ale od nejakeho data... takze si myslim, ze moje reseni je ucinne a elegantni :D (ale tot pouze muj skromny nazor)
ronnie
Profil
No pokud bychom se bavili o eleganci, tak bude nejpřehlednější

$date = new DateTime("2006-05-04");
$date->modify("+2 weeks");
echo $date->format("d. m. Y");

Škoda, že PHP neimplementuje ve svých třídách fluent interfaces, pak by to bylo ještě přehlednější.


$date = new DateTime("2006-05-04");
$date->modify("+2 weeks")
->format("d. m. Y");
ronnie
Profil
Jinak můj první příklad by šel samozřejmě přepsat i pro jiné datum

echo date("d. m. Y", strtotime("2005-04-05 +2 weeks"));
Martin82
Profil *
Aha, tak ten posledni priklad je docela peknej... ;)
Toto téma je uzamčeno. Odpověď nelze zaslat.