Autor Zpráva
capricorn
Profil
Zdravim,

potrebuji se dopocitat k urcitemu poctu dnu, ktery je mezi datem v roce 2009 a rokem 2010. V tom by nebyl problem, ale nechapu proc funkce date() vraci treba pro mesic leden roku 2010 jen 30 dnu. Je to chyba nebo vlastnost? Ono kdyz pripoctu jeden den, tak je to v poradku, ale mne by zajimalo, jestli by to slo by bez toho, abych pridaval +1 .

Tato cast kodu vypise 30 dnu, ale ma byt 31 dnu.

date_default_timezone_set('Europe/Prague');
$date = strtotime('31.1.2010');
$count_day = date('z', $date);
echo $count_day;
Alphard
Profil
capricorn:
z vrací den v roce v rozmezí 0 až 365
použijte t
capricorn
Profil
Alphard

Spatne jste to pochopil. Takze jinak se to pokusim vysvetlit.

Potrebuji zjistit pocet dnu od 17.7.2009 do 31.1.2010, takze to rozmezi budu potrebovat. Nejprve zjistim kolik zbyva dnu do konce roku 2009 od 17.7.2009 a k tomu pristu pocet dnu, ktere ubehly od zacatku roku 2010 do 31.1.2010. Pokud bych pouzil ve funkci date('t'), tak bych musel zjistit jaky je mesic, kolik zbyva mesicu do konce roku a cyklem pocitat pocet dnu, coz je zbytecne slozite.
Alphard
Profil
capricorn:
Aha, už chápu. Je to vlastnost, viz manuál: The day of the year (starting from 0)
capricorn
Profil
Alphard

No ja myslel, ze se jedna to preklep a proto jsem se radeji zeptal. Z logickeho hlediska nulovy den v roce neexistuje, ale asi k tomu je duvod, kdyz se dny pocitaji od 0 a ne od 1. Jinak dekuji.

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: