Kalendermodulen i Python har kalenderklassen som tillater beregninger for ulike oppgaver basert på dato, måned og år. På toppen av det, klassen TextCalendar og HTMLCalendar i Python lar deg redigere kalenderen og bruke i henhold til dine behov.
La oss se hva vi kan gjøre med Python Calendar.
Trinn 1) Kjør koden.
- Kodelinje 1: Vi begynner med "importkalender" som vil importere alle klassene i denne modulen.
- Kodelinje 3: c = kalender. Tekstkalender (kalender. SØNDAG) ber tolken om å lage en tekstkalender. Månedens start vil være søndag. I Python kan du formatere kalenderen ettersom du kan endre dag i måneden til å begynne med
- Kodelinje 4: str = c.formatmonth (2025,1) Vi lager kalender for året 2025, måned 1 - januar
- Kodelinje nr. 5: utskrift str skriver ut utdataene.
La oss raskt endre verdien fra søndag til torsdag og sjekke utdataene
Trinn 2) Du kan også skrive ut kalenderen i HTML-format, denne funksjonen er nyttig for utviklere hvis de ønsker å gjøre endringer i utseendet og følelsen av kalenderen
Trinn 3) Sløyfer over dagene i en måned ved å bruke c.itermonthday (2025,4), det vil hente det totale antall dager for den måneden.
- Når du utfører koden for å få det totale antall dager for en bestemt måned, si "April", vil du få 30 dager i utdata, men du vil også se noen nuller sammen med disse dagene i begynnelsen og noen ganger på slutten av den .
- Nuller i produksjonen betyr at ukedagen er i en overlappende måned, noe som betyr at den ikke tilhører den måneden.
- Disse nuller vises i produksjonen fordi, i koden du har nevnt dag (torsdag), så når du kaller funksjonen "c.itermonthdays", vil det begynne å telle dager fra torsdag og din torsdag kan ikke starte med dato 1 st april det kanskje være 28 th eller 29 th of March, så når du kjøre koden den vil begynne å telle dager fra 28 th av mars og noen dager etter at till en st av april. Disse dager vil bli talt som null, og i utgangen vil du se disse nullene og det samme gjelder på slutten av måneden.
- Så bortsett fra dato 1-30, vil alle datoene fra forrige og etterfølgende måned vises i utgangen som nuller.
Trinn 4) Du kan hente dataene fra det lokale systemet, som måneder eller hverdager osv
- Resultatet her viser at vi har skrevet ut månedens navn fra det lokale systemet. På samme måte kan du også hente ukedagens navn som vist nedenfor
- Utgangen vil avhenge av det lokale systemet, antar at hvis det lokale systemet ditt er noen andre land, vil det gi utdata i henhold til de lokale innstillingene i det landet. Her har vi måneder, så det vil ikke være noen forskjell, men hvis det er en uke eller dag, vil det absolutt variere.
Trinn 5) Du kan hente listen over den spesifikke dagen i et helt år. For eksempel er det en revisjonsdag hver første mandag i en uke. Du vil vite datoen for første mandag for hver måned. Du kan bruke denne koden
- mycal = calendar.monthcalendar (2025, måned) oppretter kalender for måneden
- Sett variabler uke1 og uke2 til første og andre uke i kalenderen
- Sjekk om uke 1 inneholder mandag, angitt revisjonsdag
- Ellers satte revisjonsdagen som den første mandagen i uke 2
- Utgangen viser datoen for den første mandagen som faller i den måneden.
- Lengden på dette Cal-objektet kommer til å være en viss lengde, basert på hvor mange uker der i måneden. I vårt tilfelle vil det være en eller to som sådan første mandag i uken vil være i den første uken oftest, men hvis ikke så vurder den andre uken. La oss se i detalj hvorfor vi også vurderer den andre uken.
- Her bruker vi kalenderens konstante mandag, kalenderobjektet gir deg konstanter som representerer søndag, mandag, tirsdag, så videre, så videre. Vi har sett disse tidligere. Så hvis dagen i mandagskonstanten ikke er lik 0 i uke en, må du huske at nuller betyr dager som tilhører en annen måned. Så i dette tilfellet, hvis det er null, blir det en mandag som tilhører forrige måned. Men hvis den første mandagen ikke er lik 0, betyr det at revisjonsdagen min vil være innen uken en. Ellers, hvis det er 0, så er ikke den første mandagen den første uken i måneden, den må være i den andre.
- Så da sier jeg ok, sett min revisjonsdagvariabel til å være mandag representert av uke to. Så, revisjonsdagen kommer tilbake med den dagen det er for den første eller andre uken.
Her er den fullstendige koden
Python 2 Eksempel
importer kalender# Lag en vanlig tekstkalenderc = kalender.TextKalender (kalender.TORSDAG)str = c.formatmonth (2025, 1, 0, 0)trykk str# Lag en HTML-formatert kalenderhc = kalender. HTMLCalendar (kalender. TORSDAG)str = hc.formatmonth (2025, 1)trykk str# loop over dagene i en måned# nuller indikerer at ukedagen er i en neste måned eller overlappende månedfor jeg i c.itermonthdays (2025, 4):skrive ut i# Kalenderen kan gi informasjon basert på lokale slike navn og dager og måneder (fulle og forkortede skjemaer)for navn i kalender. måned_navn:utskriftsnavnfor dag i kalenderen. dagnavn:utskriftsdag# beregne dager basert på en regel: For eksempel en revisjonsdag den andre mandagen i hver måned# Finn ut hvilke dager det vil være for hver måned, vi kan bruke skriptet som vist herfor måned innen rekkevidde (1, 13):# Den henter en liste over uker som representerer månedenmycal = calendar.monthcalendar (2025, måned)# Den første mandagen må være i løpet av de første to ukeneuke1 = mycal [0]uke2 = mycal [1]hvis uke1 [kalender.MANDAG]! = 0:revisjonsdag = uke1 [kalender.MANDAG]ellers:# hvis den første mandagen ikke er i den første uken, må den være i den andre ukenrevisjonsdag = uke2 [kalender.MANDAG]skriv ut "% 10s% 2d"% (calendar.month_name [month], auditday)
Python 3 Eksempel
importer kalender# Lag en vanlig tekstkalenderc = kalender.TextKalender (kalender.TORSDAG)str = c.formatmonth (2025, 1, 0, 0)skrive ut (str)# Lag en HTML-formatert kalenderhc = kalender. HTMLCalendar (kalender. TORSDAG)str = hc.formatmonth (2025, 1)skrive ut (str)# loop over dagene i en måned# nuller indikerer at ukedagen er i en neste måned eller overlappende månedfor jeg i c.itermonthdays (2025, 4):skrive ut (i)# Kalenderen kan gi informasjon basert på lokale slike navn og dager og måneder (fulle og forkortede skjemaer)for navn i kalender. måned_navn:skriv ut (navn)for dag i kalenderen. dagnavn:skrive ut (dag)# beregne dager basert på en regel: For eksempel en revisjonsdag den andre mandagen i hver måned# Finn ut hvilke dager det vil være for hver måned, vi kan bruke skriptet som vist herfor måned innen rekkevidde (1, 13):# Den henter en liste over uker som representerer månedenmycal = calendar.monthcalendar (2025, måned)# Den første mandagen må være i løpet av de første to ukeneuke1 = mycal [0]uke2 = mycal [1]hvis uke1 [kalender.MANDAG]! = 0:revisjonsdag = uke1 [kalender.MANDAG]ellers:# hvis den første mandagen ikke er i den første uken, må den være i den andre ukenrevisjonsdag = uke2 [kalender.MANDAG]utskrift ("% 10s% 2d"% (calendar.month_name [month], auditday))
Sammendrag:
- I Python kan du formatere kalenderen slik du vil, og du kan endre den dagen i måneden som skal begynne
- Skriv ut kalenderen i HTML-format
- Hent dataene fra det lokale systemet, som måneder eller hverdager
- Hent listen over den spesifikke dagen for et helt år