Python's kalendorius modulis yra standartinės bibliotekos dalis. Tai leidžia išvesti kalendorių pagal mėnesį ar metus ir suteikia kitas su kalendoriumi susijusias funkcijas.
kalendorius Pats modulis priklauso nuo dienos laiko modulio. Bet mums taip pat reikės dienos laikas vėliau mūsų pačių tikslams, todėl geriau juos importuoti abu. Be to, norint padalinti eilutes, mums reikės re modulis. Importuokime juos visus vienu kartu.
Pagal numatytuosius nustatymus kalendoriai prasideda savaitę nuo pirmadienio (0 diena) pagal Europos konvenciją ir baigiasi sekmadieniu (6 diena). Jei norite, kad sekmadienis būtų pirmoji savaitės diena, naudokite pirmąją savaitės dieną () būdas pakeisti numatytąją į 6 dieną taip:
Norėdami perjungti vieną iš dviejų, kaip argumentą galite praleisti pirmąją savaitės dieną naudodami sys modulis. Tada patikrintumėte reikšmę jei pareiškimą ir nustatykite pirmąją savaitės dieną () metodas atitinkamai.
Mūsų kalendoriuje būtų malonu turėti kalendoriaus antraštę, kurioje būtų parašyta kažkas panašaus į „Python'o sugeneruotas kalendorius ...“ ir būtų einamasis mėnuo ir metai. Norėdami tai padaryti, turime gauti mėnesį ir metus iš sistemos. Ši funkcija yra kažkas
kalendorius teikia, „Python“ gali atgauti mėnesį ir metus. Bet mes vis dar turime problemą. Kadangi visos sistemos datos yra skaitinės ir jose nėra nesutrumpintų ar neskaitmeninių mėnesių formų, mums reikia tų mėnesių sąrašo. Įveskite sąrašą metų.Dabar, kai gauname mėnesio numerį, galime prieiti prie to numerio (atėmus vieną) sąraše ir gauti visą mėnesio pavadinimą.
Įdomu, kad dienos laikas modulis turi dienos laikas klasė. Būtent iš šios klasės mes vadiname du objektus: dabar () ir data(). Metodas datetime.datetime.now () grąžina objektą, kuriame yra ši informacija: metai, mėnuo, data, valanda, minutė, sekundė ir mikrosekundės. Žinoma, mums nereikia laiko informacijos. Norėdami ištrinti tik datos informaciją, perduodame dabar () į datetime.datetime.date () kaip argumentas. Rezultatas yra toks šiandien dabar yra metai, mėnuo ir data, atskirti brūkšneliais.
Norėdami suskaidyti šią duomenų dalį į labiau valdomas dalis, turime ją padalyti. Tada mes galime priskirti dalis kintamiesiems dabartinis_yras, Šis mėnuoir dabartinė_ diena atitinkamai.
Norėdami suprasti pirmąją šio kodo eilutę, dirbkite iš dešinės į kairę ir iš vidaus į išorę. Pirmiausia mes suskaidome objektą šiandien kad ji galėtų veikti kaip styga. Tada mes ją padalijame, naudodami em-brūkšnį kaip atskyriklį arba žetoną. Galiausiai tas tris reikšmes kaip sąrašą mes priskiriame „dabartinei“.
Kad būtų aiškiau atsižvelgiama į šias vertybes ir būtų galima pavadinti ilgąjį einamojo mėnesio pavadinimą iš metų, mėnesio numerį priskiriame dabartinis_no. Tada galime šiek tiek atimti iš metų ir priskirkite mėnesio pavadinimą Šis mėnuo.
Kitoje eilutėje reikia šiek tiek pakeisti. Data, kuri grąžinta iš dienos laikas yra dviženklė vertė net per pirmąsias devynias mėnesio dienas. Nulis veikia kaip vietos turėtojas, tačiau verčiau mūsų kalendoriuje būtų tik vienas skaitmuo. Taigi mes nepakeičiame vertės kiekvienam nuliui, kuris prasideda eilute (taigi '\ A'). Pagaliau paskiriame metus dabartinis_yras, paversdami jį sveiku skaičiumi.
Metodus, kuriuos vadinsime vėliau, reikės įvesti sveikojo skaičiaus formatu. Todėl svarbu užtikrinti, kad visi datos duomenys būtų išsaugoti sveikuoju skaičiumi, o ne eilutės forma.
Prieš spausdindami kalendorių, turime atsispausdintiHTML mūsų kalendoriaus preambulė ir CSS išdėstymas. Eikite į šį puslapį, norėdami išspausdinti kalendoriaus CSS ir HTML preambulę. ir nukopijuokite kodą į savo programos failą. CSS šio failo HTML formate atitinka Jennifer Kyrnin, „About's Guide to Web Design“, siūlomą šabloną. Jei nesuprantate šios kodo dalies, galbūt norėsite pasikonsultuoti su jos pagalba mokantis CSS ir HTML. Galiausiai, norėdami tinkinti mėnesio pavadinimą, mums reikia šios eilutės:
Dabar, kai pagrindinis maketas yra išvestas, galime nustatyti patį kalendorių. Kalendorius, svarbiausia, yra lentelė. Taigi sudarykime lentelę mūsų HTML:
Dabar turime sukurti tikrąjį kalendorių. Norėdami gauti tikruosius kalendoriaus duomenis, mums reikia kalendorius moduliai mėnesio kalendorius () metodas. Šis metodas grindžiamas dviem argumentais: norimo kalendoriaus metai ir mėnuo (abu sveikieji skaičiai). Grąžinamas sąrašas, kuriame yra mėnesio datų sąrašai po savaitės. Taigi, jei mes skaičiuosime prekių skaičių į grąžintą vertę, turėsime savaičių skaičių tą mėnesį.
Žinodami savaičių skaičių per mėnesį, galime sukurti a dėl kilpa, kuri skaičiuojama per diapazonas() nuo 0 iki savaičių skaičiaus. Kaip bebūtų, jis atsispausdins likusį kalendorių.
Pradėjus šį diapazoną, savaitės datos bus panaikintos mėnuo pagal skaitiklio vertę ir priskirtas savaitė. Tada sukuriama lentelės eilutė, kurioje bus laikomos kalendoriaus datos.
A dėl Tada ciklas eina per savaitės dienas, kad jas būtų galima išanalizuoti. kalendorius modulis spausdina „0“ už kiekvieną lentelės datą, kuri neturi teisingos vertės. Tuščia reikšmė geriau tiktų mūsų tikslams, todėl spausdiname lentelių duomenų sąrašus be tų dienų vertės.
Kitas, jei diena yra dabartinė, turėtume ją kažkaip paryškinti. Remiantis td klasė šiandien, dėl šio puslapio CSS dabartinė data bus rodoma tamsiame fone, o ne šviesiame kitų datų fone.
Galiausiai, jei data yra teisinga reikšmė, o ne dabartinė data, ji spausdinama kaip lentelių duomenys. Tikslūs šių spalvų deriniai pateikiami CSS stiliaus preambulėje.
Tiesiog šį paprastą kalendorių galima naudoti bet kokiu būdu, kuriam reikia kalendoriaus atvaizdo. Hipersaitus susiejus su datomis HTML, galima lengvai sukurti dienoraščio funkciją. Arba galite patikrinti, ar yra dienoraščio failas, tada atspindėti, kurios datos yra paimtos pagal spalvą. Arba, jei konvertuojate šią programą į CGI scenarijų, galite ją sugeneruoti.