Autor Zpráva
VaKvas
Profil
Zdravím a prosím radu,

máte někdo nějakou vyzkoušenou funkci na zjištění počtu týdnů v roce?

Toto není moc spolehlivé, někdy to dokáže vratit 1 a nevím proč :
idate('W', mktime(0, 0, 0, 12, 31, $year));

Díky
Kajman
Profil
Silvestr je v takovém případě v prvním týdnu nåsledujícího roku. Systémů číslování týdnů je několik. Chcete tedy nejvyšší číslo některého ze systémů?
Keeehi
Profil
VaKvas:
Spolehlivé to je naprosto přesně, resp. to dělá přesně to, co po tom chceš. Tvůj problém je, že nechceš zjistit počet týdnů ale číslo týdnu daného dne. V dokumentaci se dočteš, že je to číslo týdne podle standardu ISO-8601. No a u něj, aby týden patřil do daného roku musí ten týden obsahovat čtvrtek. Takže podle dne, na který to vychází se určuje příslušnost do roku. Hezké čtení je na wiki.
No, nicméně k problému. Většina roků má 52 týdnů a jen některé mají 53. Ty co mají 53 zvládne ten tvůj zápis správně identifikovat. Všechny ostatní (identifikované jako 52 nebo 1) mají 52 týdnů. Takže stačí 1 považovat za 52.
idate('W', mktime(0, 0, 0, 12, 31, $year)) === 53 ? 53 : 52;
VaKvas
Profil
Díky moc za vysvětlení.

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: