Python CALENDAR Tutorial med eksempel

Anonim

Kalendermodulet i Python har kalenderklassen, der tillader beregninger for forskellige opgaver baseret på dato, måned og år. Oven i det giver TextCalendar og HTMLCalendar-klassen i Python dig mulighed for at redigere kalenderen og bruge i henhold til dine krav.

Lad os se, hvad vi kan gøre med Python Calendar.

Trin 1) Kør koden.

  • Kodelinje nr. 1: Vi begynder med "importkalender", der importerer alle klasser i dette modul.
  • Kodelinje 3: c = kalender.TextCalendar (kalender.SUNDAG) beder tolken om at oprette en tekstkalender. Månedens start er søndag. I Python kan du formatere kalenderen, da du kan ændre månedsdagen til at begynde med
  • Kodelinje 4: str = c.formatmonth (2025,1) Vi opretter kalender for året 2025, måned 1 - januar
  • Kodelinje nr. 5: print str udskriver output.

Lad os hurtigt ændre værdien fra søndag til torsdag og kontrollere output

Trin 2) Du kan også udskrive kalenderen i HTML-format, denne funktion er nyttig for udviklere, hvis de vil foretage ændringer i kalenderens udseende og fornemmelse

Trin 3) Sløjfer over dagene i en måned ved hjælp af c.itermonthday (2025,4), det henter det samlede antal dage for den måned.

  • Når du udfører koden for at få det samlede antal dage for en bestemt måned, siger "April", får du 30 dage i output, men du vil også se nogle nuller sammen med disse dage i starten og nogle gange i slutningen af ​​det .
  • Nuller i output betyder, at ugedagen er i en overlappende måned, hvilket betyder, at den ikke hører til den pågældende måned.
  • Disse nuller vises i produktionen, fordi, i din kode, du har nævnt dag (torsdag), så når du ringer funktion "c.itermonthdays", vil det begynde at tælle dage fra torsdag og din torsdag kan ikke starte med dato 1 st april det måske være 28 th eller 29 th af marts, så når du udfører koden den vil begynde at tælle dage fra 28 th af marts og eventuelle dage efter, at indtil en st af april. Disse dage tælles som nul, og i output ser du disse nuller, og det samme gælder i slutningen af ​​måneden.
  • Så undtagen dato 1-30 vises alle datoer fra forrige og efterfølgende måned i output som nuller.

Trin 4) Du kan hente dataene fra det lokale system, som måneder eller hverdage osv

  • Outputtet herover viser, at vi har udskrevet månedsnavnet fra det lokale system. På samme måde kan du også hente hverdagsnavnet som vist nedenfor
  • Outputtet vil afhænge af det lokale system, antag, at hvis dit lokale system er nogle andre lande, vil det give output i henhold til de lokale indstillinger i det land. Her har vi måneder, så det vil ikke være en forskel, men hvis det er en uge eller dag, vil det helt sikkert variere.

Trin 5) Du kan hente listen over den specifikke dag i et helt år. For eksempel er der en revisionsdag hver første mandag i en uge. Du vil vide datoen for første mandag for hver måned. Du kan bruge denne kode

  • mycal = kalender.monthcalendar (2025, måned) opretter kalender for måneden
  • Indstil variabler uge1 og uge2 til den første og anden uge i kalenderen
  • Kontroller, om uge 1 indeholder mandag, indstillet revisionsdag
  • Ellers indstillede revisionsdagen som den første mandag i uge 2
  • Outputtet viser datoen for den første mandag, der falder i den måned.
  • Længden af ​​dette Cal-objekt vil være en bestemt længde baseret på hvor mange uger der i måneden. I vores tilfælde vil det være en eller to, da den første mandag i ugen vil være i den første uge oftest, men hvis ikke så overvej den anden uge. Lad os se detaljeret, hvorfor vi også overvejer den anden uge.
  • Her bruger vi kalenderens konstante mandag, kalenderobjektet giver dig konstanter, der repræsenterer søndag, mandag, tirsdag, osv. Osv. Vi har set disse tidligere. Så hvis dagen i uge 1 ikke er lig med 0, skal du huske nuller betyder dage, der hører til en anden måned. Så i dette tilfælde, hvis det er nul, bliver det en mandag, der hører til den foregående måned. Men hvis den første mandag ikke er lig med 0, betyder det, at min revisionsdag vil være inden for ugen en. Ellers, hvis det er 0, så er den første mandag ikke i den første uge i måneden, det skal være i den anden.
  • Så så siger jeg okay, indstil min revisionsdagvariabel til at være mandag repræsenteret af uge to. Så revisionsdagen kommer tilbage med uanset dagen i enten den første eller anden uge.

Her er den komplette kode

Python 2-eksempel

importer kalender# Opret en almindelig tekstkalenderc = kalender.TextKalender (kalender.TORSDAG)str = c.formatmonth (2025, 1, 0, 0)udskriv str# Opret en HTML-formateret kalenderhc = kalender.HTMLCalendar (kalender.TORSDAG)str = hc.formatmonth (2025, 1)udskriv str# loop over dagene i en måned# nuller angiver, at ugedagen er i en næste måned eller en overlappende månedtil jeg i c.bermonthdays (2025, 4):udskrive i# Kalenderen kan give information baseret på lokale sådanne navne på dage og måneder (fulde og forkortede former)for navn i kalender. måned_navn:Print navnfor dag i kalenderen. dag_navn:udskrivningsdag# beregne dage baseret på en regel: For eksempel en revisionsdag den anden mandag i hver måned# Find ud af, hvilke dage det ville være for hver måned, vi kan bruge scriptet som vist herfor måned inden for rækkevidde (1, 13):# Den henter en liste over uger, der repræsenterer månedenmycal = calendar.monthcalendar (2025, måned)# Den første mandag skal være inden for de første to ugeruge1 = mycal [0]uge2 = mycal [1]hvis uge1 [kalender.MANDAG]! = 0:revisionsdag = uge1 [kalender.MANDAG]andet:# hvis den første mandag ikke er i den første uge, skal den være i den anden ugeauditday = week2 [kalender.MANDAG]udskriv "% 10s% 2d"% (calendar.month_name [month], auditday)

Python 3 Eksempel

importer kalender# Opret en almindelig tekstkalenderc = kalender.TextKalender (kalender.TORSDAG)str = c.formatmonth (2025, 1, 0, 0)print (str)# Opret en HTML-formateret kalenderhc = kalender.HTMLCalendar (kalender.TORSDAG)str = hc.formatmonth (2025, 1)print (str)# loop over dagene i en måned# nuller angiver, at ugedagen er i en næste måned eller en overlappende månedtil jeg i c.bermonthdays (2025, 4):udskrive (i)# Kalenderen kan give information baseret på lokale sådanne navne på dage og måneder (fulde og forkortede former)for navn i kalender. måned_navn:Print navn)for dag i kalenderen. dag_navn:print (dag)# beregne dage baseret på en regel: For eksempel en revisionsdag den anden mandag i hver måned# Find ud af, hvilke dage det ville være for hver måned, vi kan bruge scriptet som vist herfor måned inden for rækkevidde (1, 13):# Den henter en liste over uger, der repræsenterer månedenmycal = calendar.monthcalendar (2025, måned)# Den første mandag skal være inden for de første to ugeruge1 = mycal [0]uge2 = mycal [1]hvis uge1 [kalender.MANDAG]! = 0:revisionsdag = uge1 [kalender.MANDAG]andet:# hvis den første mandag ikke er i den første uge, skal den være i den anden ugeauditday = week2 [kalender.MANDAG]udskriv ("% 10s% 2d"% (kalender. måned_navn [måned], revisionsdag))

Resumé:

  • I Python kan du formatere kalenderen, som du vil, da du kan ændre den dag i måneden, der skal begynde
  • Udskriv kalenderen i HTML-format
  • Hent dataene fra det lokale system, som måneder eller hverdage
  • Hent listen over den specifikke dag i et helt år