Η ενότητα Ημερολόγιο στο Python έχει την τάξη ημερολογίου που επιτρέπει τους υπολογισμούς για διάφορες εργασίες βάσει ημερομηνίας, μήνα και έτους. Επιπλέον, η κλάση TextCalendar και HTMLCalendar στο Python σάς επιτρέπει να επεξεργάζεστε το ημερολόγιο και να χρησιμοποιείτε σύμφωνα με τις απαιτήσεις σας.
Ας δούμε τι μπορούμε να κάνουμε με το Python Calendar.
Βήμα 1) Εκτελέστε τον κώδικα.
- Γραμμή κώδικα # 1: Ξεκινάμε με το "ημερολόγιο εισαγωγής" που θα εισαγάγει όλες τις κλάσεις αυτής της ενότητας.
- Γραμμή κώδικα # 3: c = ημερολόγιο. Το TextCalendar (ημερολόγιο.SUNDAY) λέει στον διερμηνέα να δημιουργήσει ένα ημερολόγιο κειμένου. Η έναρξη του μήνα θα είναι Κυριακή. Στο Python, μπορείτε να μορφοποιήσετε το ημερολόγιο όπως μπορείτε να αλλάξετε την ημέρα του μήνα για να ξεκινήσετε
- Γραμμή κώδικα # 4: str = c.formatmonth (2025,1) Δημιουργούμε ημερολόγιο για το έτος 2025, Μήνας 1 - Ιανουάριος
- Γραμμή κώδικα # 5: η εκτύπωση str θα εκτυπώσει την έξοδο.
Ας αλλάξουμε γρήγορα την τιμή από Κυριακή έως Πέμπτη και ελέγξουμε την έξοδο
Βήμα 2) Μπορείτε επίσης να εκτυπώσετε το Ημερολόγιο σε μορφή HTML, αυτή η λειτουργία είναι χρήσιμη για τον προγραμματιστή εάν θέλει να κάνει οποιεσδήποτε αλλαγές στην εμφάνιση και την αίσθηση του ημερολογίου
Βήμα 3) Βρόχους κατά τη διάρκεια των ημερών ενός μήνα χρησιμοποιώντας c.itermonthday (2025,4), θα πάρει τον συνολικό αριθμό ημερών για αυτόν τον μήνα.
- Όταν εκτελέσετε τον κωδικό για να λάβετε τον συνολικό αριθμό ημερών για έναν συγκεκριμένο μήνα, πείτε "Απρίλιος", τότε θα λάβετε 30 ημέρες στην έξοδο, αλλά θα δείτε επίσης κάποια μηδενικά μαζί με αυτές τις ημέρες στην αρχή και μερικές φορές στο τέλος του .
- Τα μηδενικά στην έξοδο σημαίνουν ότι η ημέρα της εβδομάδας βρίσκεται σε έναν επικαλυπτόμενο μήνα, πράγμα που σημαίνει ότι δεν ανήκει σε αυτόν τον μήνα.
- Αυτά τα μηδενικά εμφανίζεται στην έξοδο, διότι, στον κώδικά σας αναφέρατε την ημέρα (Πέμπτη), έτσι ώστε όταν καλείτε τη λειτουργία «c.itermonthdays», θα ξεκινήσει ημέρες καταμέτρηση από την Πέμπτη και την Πέμπτη σας δεν μπορεί να ξεκινήσει με ημερομηνία 1 ης Απριλίου θα μπορούσε είναι 28 ου ή 29 ου Μαρτίου, έτσι ώστε όταν θα εκτελέσει τον κώδικα που θα ξεκινήσει ημέρες μετρώντας από 28 ης Μαρτίου και κάθε ημέρες μετά από αυτό μέχρι 1 ης Απριλίου. Αυτές τις μέρες θα μετρηθούν ως μηδέν και στην έξοδο θα δείτε αυτά τα μηδενικά και το ίδιο ισχύει για το τέλος του μήνα.
- Έτσι, εκτός από την ημερομηνία 1-30, όλες οι ημερομηνίες από τον προηγούμενο καθώς και μετά τον μήνα θα εμφανίζονται στην έξοδο ως μηδενικά.
Βήμα 4) Μπορείτε να ανακτήσετε τα δεδομένα από το τοπικό σύστημα, όπως μήνες ή καθημερινές κ.λπ.
- Η έξοδος εδώ δείχνει ότι έχουμε εκτυπώσει το όνομα των μηνών από το τοπικό σύστημα. Ομοίως, μπορείτε επίσης να ανακτήσετε το όνομα των καθημερινών όπως φαίνεται παρακάτω
- Η έξοδος θα εξαρτηθεί από το τοπικό σύστημα, ας υποθέσουμε ότι εάν το τοπικό σας σύστημα είναι μερικές άλλες χώρες, τότε θα δώσει την έξοδο σύμφωνα με τις τοπικές ρυθμίσεις αυτής της χώρας. Εδώ έχουμε μήνες, οπότε δεν θα είναι διαφορά, αλλά αν είναι μια εβδομάδα ή ημέρα, σίγουρα θα διαφέρει.
Βήμα 5) Μπορείτε να ανακτήσετε τη λίστα της συγκεκριμένης ημέρας για ένα ολόκληρο έτος. Για παράδειγμα, υπάρχει μια ημέρα ελέγχου κάθε πρώτη Δευτέρα της εβδομάδας. Θέλετε να μάθετε την ημερομηνία της πρώτης Δευτέρας για κάθε μήνα. Μπορείτε να χρησιμοποιήσετε αυτόν τον κωδικό
- mycal = calendar.monthcalendar (2025, μήνας) θα δημιουργήσει ημερολόγιο για τον μήνα
- Ορίστε τις μεταβλητές εβδομάδα1 και εβδομάδα2 στην πρώτη και δεύτερη εβδομάδα του ημερολογίου
- Ελέγξτε εάν η Εβδομάδα 1 περιέχει Δευτέρα, ορίστε την ημέρα ελέγχου
- Η Else όρισε την ημέρα ελέγχου ως την πρώτη Δευτέρα της εβδομάδας 2
- Η έξοδος δείχνει την ημερομηνία για την πρώτη Δευτέρα που πέφτει εκείνο τον μήνα.
- Το μήκος αυτού του αντικειμένου Cal θα είναι ένα ορισμένο μήκος, με βάση τις πόσες εβδομάδες εκεί μέσα στο μήνα. Στην περίπτωσή μας, πρόκειται να είναι ένα ή δύο η πρώτη Δευτέρα της εβδομάδας θα είναι την πρώτη εβδομάδα πιο συχνά, αλλά αν όχι τότε εξετάστε τη δεύτερη εβδομάδα. Ας δούμε λεπτομερώς γιατί εξετάζουμε επίσης τη δεύτερη εβδομάδα.
- Εδώ χρησιμοποιούμε τη σταθερά του ημερολογίου τη Δευτέρα, το αντικείμενο ημερολογίου σας δίνει σταθερές που αντιπροσωπεύουν Κυριακή, Δευτέρα, Τρίτη, ούτω καθεξής, ούτω καθεξής. Τα έχουμε δει στο παρελθόν. Έτσι, εάν στην εβδομάδα μία η ημέρα που αντιπροσωπεύεται από τη σταθερά της Δευτέρας δεν είναι ίση με 0, θυμηθείτε μηδενικά σημαίνει ημέρες που ανήκουν σε άλλο μήνα. Έτσι, σε αυτήν την περίπτωση, εάν είναι μηδέν, θα είναι μια Δευτέρα που ανήκει στον προηγούμενο μήνα. Αλλά αν η πρώτη Δευτέρα δεν είναι ίση με 0, αυτό σημαίνει ότι η ημέρα ελέγχου μου θα είναι εντός της εβδομάδας. Διαφορετικά, αν είναι 0, τότε η πρώτη Δευτέρα δεν είναι την πρώτη εβδομάδα του μήνα, πρέπει να είναι στη δεύτερη.
- Λοιπόν, τότε λέω εντάξει, ορίστε τη μεταβλητή της ημέρας ελέγχου να είναι η Δευτέρα που αντιπροσωπεύεται από τη δεύτερη εβδομάδα. Έτσι, η ημέρα ελέγχου θα επανέλθει με ό, τι είναι η ημέρα είτε για την πρώτη είτε για τη δεύτερη εβδομάδα.
Εδώ είναι ο πλήρης κωδικός
Παράδειγμα Python 2
εισαγωγή ημερολογίου# Δημιουργήστε ένα ημερολόγιο απλού κειμένουc = ημερολόγιο. TextCalendar (ημερολόγιο. ΠΕΜΠΤΗ)str = c.formatmonth (2025, 1, 0, 0)εκτύπωση str# Δημιουργήστε ένα ημερολόγιο με μορφή HTMLhc = ημερολόγιο. HTMLC Ημερολόγιο (ημερολόγιο. Πέμπτη)str = hc.formatmonth (2025, 1)εκτύπωση str# βρόχος τις ημέρες ενός μήνα# μηδενικά υποδεικνύουν ότι η ημέρα της εβδομάδας είναι τον επόμενο μήνα ή τον επικαλυπτόμενο μήναγια i το c.itermonthdays (2025, 4):εκτύπωση i# Το ημερολόγιο μπορεί να παρέχει πληροφορίες βάσει τοπικών ονομάτων ημερών και μηνών (πλήρεις και συντομευμένες φόρμες)για όνομα στο calendar.month_name:Όνομα εκτύπωσηςγια ημέρα στο ημερολόγιο.day_name:ημέρα εκτύπωσης# υπολογισμός ημερών με βάση έναν κανόνα: Για παράδειγμα, μια ημέρα ελέγχου τη δεύτερη Δευτέρα κάθε μήνα# Μάθετε ποιες ημέρες θα ήταν για κάθε μήνα, μπορούμε να χρησιμοποιήσουμε το σενάριο όπως φαίνεται εδώγια μήνα στο εύρος (1, 13):# Ανακτά μια λίστα εβδομάδων που αντιπροσωπεύουν τον μήναmycal = calendar.monthcalendar (2025, μήνας)# Η πρώτη ΔΕΥΤΕΡΑ πρέπει να είναι μέσα στις δύο πρώτες εβδομάδεςεβδομάδα1 = mycal [0]εβδομάδα2 = mycal [1]αν η εβδομάδα1 [ημερολόγιο.MONDAY]! = 0:auditday = week1 [ημερολόγιο.MONDAY]αλλού:# αν η πρώτη ΔΕΥΤΕΡΑ δεν είναι την πρώτη εβδομάδα, πρέπει να είναι τη δεύτερη εβδομάδαauditday = week2 [ημερολόγιο.MONDAY]εκτύπωση "% 10s% 2d"% (calendar.month_name [month], auditday)
Παράδειγμα Python 3
εισαγωγή ημερολογίου# Δημιουργήστε ένα ημερολόγιο απλού κειμένουc = ημερολόγιο. TextCalendar (ημερολόγιο. ΠΕΜΠΤΗ)str = c.formatmonth (2025, 1, 0, 0)εκτύπωση (str)# Δημιουργήστε ένα ημερολόγιο με μορφή HTMLhc = ημερολόγιο. HTMLC Ημερολόγιο (ημερολόγιο. Πέμπτη)str = hc.formatmonth (2025, 1)εκτύπωση (str)# βρόχος τις ημέρες ενός μήνα# μηδενικά υποδεικνύουν ότι η ημέρα της εβδομάδας είναι τον επόμενο μήνα ή τον επικαλυπτόμενο μήναγια i το c.itermonthdays (2025, 4):εκτύπωση (i)# Το ημερολόγιο μπορεί να παρέχει πληροφορίες βάσει τοπικών ονομάτων ημερών και μηνών (πλήρεις και συντομευμένες φόρμες)για όνομα στο calendar.month_name:Όνομα εκτύπωσης)για ημέρα στο ημερολόγιο.day_name:εκτύπωση (ημέρα)# υπολογισμός ημερών με βάση έναν κανόνα: Για παράδειγμα, μια ημέρα ελέγχου τη δεύτερη Δευτέρα κάθε μήνα# Μάθετε ποιες ημέρες θα ήταν για κάθε μήνα, μπορούμε να χρησιμοποιήσουμε το σενάριο όπως φαίνεται εδώγια μήνα στο εύρος (1, 13):# Ανακτά μια λίστα εβδομάδων που αντιπροσωπεύουν τον μήναmycal = calendar.monthcalendar (2025, μήνας)# Η πρώτη ΔΕΥΤΕΡΑ πρέπει να είναι μέσα στις δύο πρώτες εβδομάδεςεβδομάδα1 = mycal [0]εβδομάδα2 = mycal [1]αν η εβδομάδα1 [ημερολόγιο.MONDAY]! = 0:auditday = week1 [ημερολόγιο.MONDAY]αλλού:# αν η πρώτη ΔΕΥΤΕΡΑ δεν είναι την πρώτη εβδομάδα, πρέπει να είναι τη δεύτερη εβδομάδαauditday = week2 [ημερολόγιο.MONDAY]εκτύπωση ("% 10s% 2d"% (calendar.month_name [μήνας], ημέρα ελέγχου))
Περίληψη:
- Στο Python, μπορείτε να μορφοποιήσετε το ημερολόγιο με τον τρόπο που θέλετε, καθώς μπορείτε να αλλάξετε την ημέρα του μήνα για να ξεκινήσετε
- Εκτυπώστε το Ημερολόγιο σε μορφή HTML
- Λήψη δεδομένων από το τοπικό σύστημα, όπως μήνες ή καθημερινές
- Λήψη της λίστας της συγκεκριμένης ημέρας για ένα ολόκληρο έτος