Pythonovih koledar modul je del standardne knjižnice. Omogoča izpis koledarja po mesecih ali po letih, poleg tega pa ponuja tudi druge funkcije, povezane s koledarjem.
The koledar sam modul je odvisen od modula datumov. Vendar bomo tudi potrebovali Datum čas za lastne namene kasneje, zato je najbolje, da oboje uvažate. Za izvedbo delitve vrvic bomo potrebovali tudi re modul. Uvozimo jih vse naenkrat.
Koledarji privzeto začnejo teden od ponedeljka (dan 0) po evropski konvenciji in se končajo z nedeljo (6. dan). Če imate nedeljo kot prvi dan v tednu, uporabite to setfirstweekday () metoda za spremembo privzetega na 6. dan, kot sledi:
Če želite preklopiti med tema dvema, lahko prvi dan v tednu prenesete kot argument z uporabo sys modul. Nato bi vrednost preverili z če izjavo in nastavite setfirstweekday () ustrezno metodo.
V našem koledarju bi bilo lepo imeti glavo za koledar, ki se glasi kot je "Koledar, ustvarjen s Python-om za ..." in imata tekoči mesec in leto. Da bi to naredili, moramo iz sistema dobiti mesec in leto. Ta funkcionalnost je nekaj takega
koledar zagotavlja, Python lahko pridobi mesec in leto. Ampak še vedno imamo težavo. Ker so vsi sistemski datumi numerični in ne vsebujejo nerevidiranih ali neštevilčnih oblik mesecev, potrebujemo seznam teh mesecev. Vnesite seznam leto.Zdaj, ko dobimo številko meseca, lahko dostopamo do te številke (minus ena) na seznamu in dobimo ime polnega meseca.
Zanimivo je, da Datum čas modul ima a Datum čas razred. Iz tega razreda imenujemo dva predmeta: zdaj () in datum (). Metoda datetime.datetime.now () vrne predmet, ki vsebuje naslednje podatke: leto, mesec, datum, uro, minuto, sekundo in mikrosekunde. Seveda nimamo potrebe po informacijah o času. Če želite sami razčleniti podatke o datumu, posredujemo rezultate zdaj () do datetime.datetime.date () kot argument. Rezultat je to danes zdaj vsebuje leto, mesec in datum, ločene s pomišljaji.
Če želite razdeliti ta del podatkov na več obvladljivih kosov, ga moramo razdeliti. Nato lahko dele dodelimo spremenljivkam trenutni_yr, trenutni_mesec, in current_day oz.
Če želite razumeti prvo vrstico te kode, delujte od desne proti levi in od znotraj navzven. Najprej objekt strukturiramo danes da bi na njem delovala kot niz. Nato smo ga razdelili s pomočjo em-dash-a kot ločitve ali žetona. Na koncu dodelimo te tri vrednosti kot seznam "trenutnim".
Da bi se s temi vrednostmi lotili bolj natančno in iz klicali dolgo ime tekočega meseca leto, dodelimo številko meseca trenutno_no. Nato lahko v podnapisu naredimo malo odštevanja leto in dodelite ime meseca trenutni_mesec.
V naslednji vrstici je potrebno malo zamenjave. Datum, iz katerega se vrne Datum čas je dvomestna vrednost celo prvih devet dni v mesecu. Nič deluje kot nosilec mest, vendar bi raje naš koledar imel samo enomestno številko. Torej ne nadomestimo nobene vrednosti za vsako ničlo, ki se začne niz (torej '\ A'). Končno dodelimo leto letu trenutni_yr, ga na poti pretvori v celo število.
Metode, ki jih bomo poklicali pozneje, bodo zahtevali vnos v celi obliki. Zato je pomembno zagotoviti, da se vsi podatki o datumu shranijo v celi obliki, ne pa v nizu.
Preden tiskamo koledar, moramo natisnitiHTML preambula in CSS postavitev našega koledarja. Pojdite na to stran, če želite kodo natisniti preambulo CSS in HTML za koledar. in kopirajte kodo v programsko datoteko. CSS v HTML te datoteke sledi predlogi, ki jo je ponudila Jennifer Kyrnin, vodnik o spletnem oblikovanju. Če tega dela kode ne razumete, se boste morda želeli posvetovati z njenimi pripomočki za učenje CSS in HTML. Končno za prilagajanje imena meseca potrebujemo naslednjo vrstico:
Ko je osnovna postavitev izhodna, lahko koledar nastavimo sami. Koledar je njegova najosnovnejša točka tabela. Torej naredimo tabelo v našem HTML-ju:
Zdaj moramo ustvariti dejanski koledar. Da bi dobili dejanske podatke koledarja, potrebujemo koledar modula mesečni koledar () metoda. Ta metoda ima dva argumenta: leto in mesec želenega koledarja (oba v celi obliki). Vrne seznam, ki vsebuje sezname datumov meseca po tednih. Če torej štejemo število elementov v vrnjeni vrednosti, imamo število tednov v danem mesecu.
Če poznamo število tednov v mesecu, lahko ustvarimo za zanka, ki šteje skozi a domet () od 0 do števila tednov. Tako bo natisnil preostanek koledarja.
Po začetku tega razpona se datumi v tednu izločijo mesec glede na vrednost števca in dodeljeno teden. Nato se ustvari tabelarna vrstica za shranjevanje datumov koledarja.
A za zanka se nato sprehaja skozi dneve v tednu, da jih je mogoče analizirati. The koledar modul natisne '0' za vsak datum v tabelo, ki nima veljavne vrednosti. Prazna vrednost bi bolje delovala za naše namene, zato tiskamo zvezke tabelarnih podatkov brez vrednosti za te datume.
Naslednje, če je dan trenutni, bi ga morali nekako poudariti. Temelji na td razred danes, CSS te strani povzroči upodabljanje trenutnega datuma na temnem ozadju namesto na svetlem ozadju drugih datumov.
Nazadnje, če je datum veljavna vrednost in ni trenutni datum, se natisne v obliki tabel. Natančne barvne kombinacije so v preambuli sloga CSS.
Ravno ta preprost koledar je mogoče uporabiti na kakršen koli način, ki potrebuje koledarsko predstavitev. S hiperpovezavo datumov v HTML-ju lahko preprosto ustvarite funkcijo dnevnika. Lahko pa preverite tudi datoteko dnevnika in nato odsevate, katere datume je njihova barva. Če pa ta program pretvori v skript CGI, ga lahko ustvari na poti.