cal_days_in_month
cal_days_in_month($kalendar, $mesic, $rok)
Vrátí počet dní v zadaném měsíci a roce. Patří do rozšíření calendar, které na serveru nemusí být zapnuté.
Parametry
- $kalendar – typ kalendáře, pro běžná data CAL_GREGORIAN.
- $mesic – měsíc 1–12.
- $rok – rok.
Příklady
echo cal_days_in_month(CAL_GREGORIAN, 10, 2026); // 31
echo cal_days_in_month(CAL_GREGORIAN, 2, 2026); // 28
// přestupný rok
echo cal_days_in_month(CAL_GREGORIAN, 2, 2028); // 29
// náhrada bez rozšíření calendar: formátovací znak t
echo date("t", mktime(0, 0, 0, 2, 1, 2028)); // 29
echo date_create("2026-04-01")->format("t"); // 30
// součet dní všech měsíců roku
$dni = 0;
for ($mesic = 1; $mesic <= 12; $mesic++) {
$dni += cal_days_in_month(CAL_GREGORIAN, $mesic, 2026);
}
echo $dni; // 365
Na co si dát pozor
- Rozšíření calendar nemusí být na serveru zapnuté. Když si nejste jistí, použijte date("t") nebo formát „t“ u DateTime, které fungují vždy.
- Pořadí parametrů je kalendář, měsíc, rok.
- Neplatný měsíc vypíše v PHP 7 varování.
Příbuzné funkce:
checkdate()
mktime()
date()