Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
Jde prosím nějak jednodušeji zapsat ten poslední řádek? Myslím, že to funguje jak má, ale je toho tam podle mě zbytečně moc..
$date = "2015-04-10"; $add = 5; $start= date_create($date); $output = date('d.m.Y', strtotime("+$add day", strtotime(date_format($start, 'Y-m-d')))); // chci, aby $output vracel 15.04.2015 |
||
lionel messi Profil |
quatzael:
„Jde prosím nějak jednodušeji zapsat ten poslední řádek?“ Áno, dokonca môžeš jeden riadok ušetriť: $date = "2015-04-10"; $add = 5; $output = date('d.m.Y', strtotime("+$add day", strtotime($date))); echo $output; //vráti 15.04.2015 Dôkaz. |
||
Davex Profil |
#3 · Zasláno: 20. 12. 2014, 12:40:28
Pokud se můžeš spolehnout na autodetekci formátu data, tak by to šlo nějak takto:
$date = "2015-04-10"; $add = 5; $output = date('d.m.Y', strtotime("$date +$add day")); |
||
quatzael Profil |
#4 · Zasláno: 20. 12. 2014, 12:50:03 · Upravil/a: quatzael
lionel messi:
„Áno, dokonca môžeš jeden riadok ušetriť:“ Nemůžu to vynechat, ty řádky nad tím jsou jen pro ilustraci, co tam do tý funkce leze. potřebuju tam dávat přímo objekt date Takže asi takhle: $output = date('d.m.Y', strtotime("+$add day", $start)); Jo? Já jsem se k tomu kódu vrátil po několika měsících, nevím už proč jsem to tak složitě převáděl sem a tam.. Asi mi to nefungovalo nebo já nevím. |
||
Alphard Profil |
#5 · Zasláno: 20. 12. 2014, 12:59:30
quatzael [#4]:
Já třeba všude používám objekt Datetime. Mám vlastní modifikonou implementaci, která umí parsovat i český formát (vstup z formulářů, kde je Datepicker), takže stačí zavolat konstruktor. Některé činnosti s datem jsou v nativní implementaci neohrabané (třeba to přidávání intervalu), takže na to mám vlastní metodu. A dále si buď explicitně zavolám format() když ho potřebuji, nebo předám db layeru celý Datetime objekt (a víc se o to nestarám). Kód z [#1] bych napsal takhle $output = (new MyDatetime($date))->addDays(5)->format('d.m.Y'); |
||
quatzael Profil |
#6 · Zasláno: 20. 12. 2014, 13:47:08
Ok, díky za rady.
|
||
Časová prodleva: 9 let
|
0