Autor Zpráva
farradox
Profil
Existuje nějaká jednoduchá funkce jak k aktuálnímu datu přičíst třeba 10 dnů?(např. při zobrazení "Vaše členství vyprší za 10 dní). Vůbec nevím čeho se mám chytnout a jak pokračovat. Diky za rady
ondra_knezour
Profil
UTFM? :)

It is possible to use date() and mktime() together to find dates in the future or the past.

$timestamp_za_deset_dnu = mktime(0, 0, 0, date("m"), date("d")+10,   date("Y"));


Note: This can be more reliable than simply adding or subtracting the number of seconds in a day or month to a timestamp because of daylight saving time.
Ssob
Profil
ondra_knezour
Kdyby ses ridil svou radou UTFM? :) tak bys zjistil ze je jednodussi pouzit funkci strtotime()
ondra_knezour
Profil
Ssob
je jednodussi pouzit funkci strtotime()

a je to konkrétně jednodušší:

- nutností řešit jak poskládat zadaný interval do anglické věty ( +1 week 22 days 8 hours atd.) - v zadání je například 10 dnů
- nadprůměrnym počtem chyb v implementaci funkce strtotime() dokonce i na PHP
- IMHO vyšší výpočetní náročností navržené funkce

nebo něčím, na co jsem zapoměl? :)
Ssob
Profil
ondra_knezour
- nutností řešit jak poskládat zadaný interval do anglické věty ( +1 week 22 days 8 hours atd.) - v zadání je například 10 dnů
nesmysl. Je mnohem jednodussi napsat strtotime('+10 days') nez tvoji konstrukci

- nadprůměrnym počtem chyb v implementaci funkce strtotime() dokonce i na PHP
nevim. Nikdy jsem se s tim nesetkal.

- IMHO vyšší výpočetní náročností navržené funkce
souhlasim. Ovsem tento rozdil nebude nijak zasadni a v dnesni dobe se to neresi.
loyza
Profil
Ssob
v dnesni dobe se to neresi.
a to je chyba. veliká chyba.
ondra_knezour
Profil
Ssob
nesmysl. Je mnohem jednodussi napsat strtotime('+10 days') nez tvoji konstrukci

To právě není, pokud je těch deset dnů jenom jako příklad, protože následně je mnohem jednodušší napsat

mktime(0, 0, 0, date("m") + $Months, date("d") + $Days,   date("Y") + $Years);


- nadprůměrnym počtem chyb v implementaci funkce strtotime() dokonce i na PHP
nevim. Nikdy jsem se s tim nesetkal.


Je to popsaný i v tom manuálu, v některých verzích je následující den pozítří apod.

- IMHO vyšší výpočetní náročností navržené funkce
souhlasim. Ovsem tento rozdil nebude nijak zasadni a v dnesni dobe se to neresi.


To je naprosto zásadní, pokud máš tisíce requestů na server za vteřinu a vytvoření jedné stránky se skládá z mnoha netriviálních úkonů. Každá milisekunda navíc se pak dá vyjádřit v penězích.

Tady je právě vidět rozdíl různých přístupů k programování. Mě zas nezajímá, že je něco kratšího na zapsání, zajímá mě, jak je to efektivní, protože čas na zapsání spotřebuju nebo musim zaplatit jenom jednou, zatim co následný problémy s efektivitou kódu se řešej a platěj pořád :)
farradox
Profil
Oba zápisy jsou teda jednoduché a to jsem to nikde nemohl najít nebo jsem to asi přehlídnul. Díky za rady
Ssob
Profil
ondra_knezour
Ok. Uznavam, ze pro narocnejsi a casteji provadene vypocty se oplati pouzit tvuj zpusob.
Toto téma je uzamčeno. Odpověď nelze zaslat.