Izdelava lastnega koledarja s pomočjo PHP razreda je odličen način za učenje objektnega programiranja. V spodnjem primeru si lahko ogledate celotno kodo (HTML, Razred in CSS), ki omogoča izpis koledarja in dodajanje dogodkov.
PHP ponuja vgrajeno podporo za delo s koledarji, ki presega zgolj izpis trenutnega meseca. Te funkcije so izjemno koristne, ko morate v svojih aplikacijah natančno izračunati število dni v poljubnem mesecu (ob upoštevanju prestopnih let), ugotoviti točne datume premakljivih cerkvenih praznikov (kot je Velika noč) ali pa preračunati zgodovinske datume med različnimi svetovnimi koledarji.
Razširitev koledarja vsebuje funkcije, ki poenostavljajo pretvorbo med različnimi oblikami koledarja. Temelji na julijanskem štetju dni (Julian Day Count), ki predstavlja preprosto štetje dni od 1. januarja 4713 pr. n. št. Za pretvorbo med različnimi koledarji moramo datum najprej pretvoriti v to nevtralno julijansko štetje dni, nato pa iz njega v koledar po naši izbiri. Pozor: Julijansko štetje dni (število) ni isto kot stari julijanski koledar!
| Ime funkcije | Opis delovanja | Primer (Koda za simulator) |
|---|---|---|
cal_days_in_month() |
Vrne število dni v mesecu za določeno leto in izbrani koledar. | echo cal_days_in_month(CAL_GREGORIAN, 2, 2026); // Februar 2026 |
cal_from_jd() |
Pretvori julijansko štetje dni v podrobno tabelo z informacijami o datumu določenega koledarja. | print_r(cal_from_jd(2461168, CAL_GREGORIAN)); |
cal_info() |
Vrne splošne informacije o podanem koledarju (ime, kratice, mesece). | print_r(cal_info(CAL_GREGORIAN)); |
cal_to_jd() |
Pretvori specifičen datum v določenem koledarju v univerzalno julijansko štetje dni. | echo cal_to_jd(CAL_GREGORIAN, 6, 5, 2026); |
easter_date() |
Vrne Unix časovni žig za polnoč na velikonočno nedeljo za določeno leto. | echo date("d. m. Y", easter_date(2026)); |
easter_days() |
Vrne število dni po 21. marcu, ko nastopi Velika noč v določenem letu. | echo easter_days(2026); // Število dni po 21. marcu |
frenchtojd() |
Pretvori datum iz francoskega revolucionarnega koledarja v julijansko štetje dni. | echo frenchtojd(9, 14, 3); // Mesec, dan, leto republike |
gregoriantojd() |
Pretvori običajni gregorijanski datum v julijansko štetje dni. | echo gregoriantojd(6, 5, 2026); // Mesec, dan, leto |
jddayofweek() |
Vrne dan v tednu na podlagi julijanskega štetja dni (v obliki števila ali niza). | echo jddayofweek(2461168, 1); // 1 vrne tekstovno ime dneva |
jdmonthname() |
Vrne ime meseca za določen koledar na podlagi julijanskega štetja dni. | echo jdmonthname(2461168, 0); // 0 vrne gregorijansko kratko ime |
jdtofrench() |
Pretvori julijansko štetje dni v niz datuma po francoskem revolucionarnem koledarju. | echo jdtofrench(2380650); |
jdtogregorian() |
Pretvori julijansko štetje dni nazaj v običajni gregorijanski datumski niz (format m/d/Y). | echo jdtogregorian(2461168); |
jdtojewish() |
Pretvori julijansko štetje dni v hebrejski datumski niz. | echo jdtojewish(2461168); |
jdtojulian() |
Pretvori julijansko štetje dni v stari julijanski datumski niz. | echo jdtojulian(2461168); |
jdtounix() |
Pretvori julijansko štetje dni neposredno v standardni Unix časovni žig (sekunde od 1970). | echo jdtounix(2461168); |
jewishtojd() |
Pretvori datum iz hebrejskega koledarja v julijansko štetje dni. | echo jewishtojd(9, 25, 5786); // Mesec, dan, leto |
juliantojd() |
Pretvori datum iz starega julijanskega koledarja v julijansko štetje dni. | echo juliantojd(5, 23, 2026); // Mesec, dan, leto |
unixtojd() |
Pretvori standardni Unix časovni žig v julijansko štetje dni. | echo unixtojd(time()); |