Autor | Zpráva | ||
---|---|---|---|
lokix Profil |
#1 · Zasláno: 23. 7. 2012, 22:20:02
Zdravím všechny zde na fóru,
mám menší problém (Google a i zde na fóru jsem hledal) s datumem, který vytáhnu z db a chci ho změnit (dopředu neznám nový datum) tak aby se k němu ještě navíc přičetlo + 180 dní. Přičtení samo o sobě není problém, ale jen pokud se jedná o aktuální datum. Mám proměnné: $datum = date("j.m.Y"); $datum2 = date("j.m.Y", strtotime("+180 day")); $datum ) a chci ho změnit například o 10 dní dopředu (změna pouze dopředu) tak aby se automaticky zvedla i hodnota druhého datumu v db o těch např.: 10 dní, ale pořád byla o 180 dní rozdíl.
Snad je to srozumitelné a rači uvedu příklad - něco jako toto: $date = radek['datum']; // vypíše např.: $date = "29.07.2012"; $datum = date($date); // Toto právě nevím jak udělat $datum2 = date("j.m.Y", strtotime("+180 day")); Moc děkuji za jakékoliv informace, nakopnutí nebo ukázku a přeji hezký večer. |
||
Tori Profil |
#2 · Zasláno: 23. 7. 2012, 22:44:24
lokix:
Datum je lepší do DB ukládat jako typ DATE nebo DATETIME, ne jako řetězec. Pak se s tím dá i pracovat jako s datem, např. SQL dotazem přičíst x dní k oběma sloupcům. V PHP můžete k relativním datům přidat i datum, ke kterému se vztahují. var_dump(date('j. n. Y', strtotime('+10 days'))); // 2. 8. 2012 var_dump(date('j. n. Y', strtotime('16.4.2010 +10 days'))); // 26. 4. 2010 $d = new DateTime('16.4.2010'); // pozor, s mezerami (16. 4. 2010) to nefunguje var_dump($d->format('j. n. Y')); $d->modify('+10 days'); var_dump($d->format('j. n. Y')); |
||
lokix Profil |
#3 · Zasláno: 23. 7. 2012, 23:33:35
Tori:
Děkuji za opravdu rychlou odpověď a ani nevím jak poděkovat. Nečekal jsem, že to bude tak jednoduché. |
||
Časová prodleva: 11 let
|
0