Tutoriel Python CALENDAR avec exemple

Anonim

Le module Calendrier en Python a la classe de calendrier qui permet les calculs pour diverses tâches en fonction de la date, du mois et de l'année. En plus de cela, la classe TextCalendar et HTMLCalendar en Python vous permet de modifier le calendrier et de l'utiliser selon vos besoins.

Voyons ce que nous pouvons faire avec le calendrier Python.

Étape 1) Exécutez le code.

  • Ligne de code # 1: Nous commençons par "importer le calendrier" qui importera toutes les classes de ce module.
  • Ligne de code # 3: c = calendar.TextCalendar (calendar.SUNDAY) indique à l'interpréteur de créer un calendrier texte. Le début du mois sera dimanche. En Python, vous pouvez formater le calendrier car vous pouvez changer le jour du mois pour commencer
  • Code Line # 4: str = c.formatmonth (2025,1) Nous créons un calendrier pour l'année 2025, mois 1 - janvier
  • Code Line # 5: print str imprimera la sortie.

Modifions rapidement la valeur du dimanche au jeudi et vérifions la sortie

Étape 2) Vous pouvez également imprimer le calendrier au format HTML, cette fonctionnalité est utile pour les développeurs s'ils souhaitent apporter des modifications à l'apparence du calendrier

Étape 3) Boucles sur les jours d'un mois en utilisant c.itermonthday (2025,4), il récupérera le nombre total de jours pour ce mois.

  • Lorsque vous exécutez le code pour obtenir le nombre total de jours pour un mois spécifique, dites «avril», vous obtiendrez 30 jours dans la sortie, mais vous verrez également des zéros avec ces jours au début et parfois à la fin. .
  • Les zéros dans la sortie signifient que le jour de la semaine se trouve dans un mois qui se chevauche, ce qui signifie qu'il n'appartient pas à ce mois.
  • Ces zéros apparaissent dans la sortie parce que, dans votre code, vous avez mentionné le jour (jeudi), donc lorsque vous appelez la fonction "c.itermonthdays", il commencera à compter les jours à partir de jeudi et votre jeudi peut ne pas commencer avec la date du 1 er avril, cela pourrait être 28 e ou 29 e de Mars, donc lorsque vous exécutez le code , il commencera jours à compter de 28 e de mars et tous les jours après que jusqu'au 1 er Avril. Ces jours seront comptés comme zéro et dans la sortie, vous verrez ces zéros et la même chose est applicable à la fin du mois.
  • Ainsi, à l'exception de la date 1-30, toutes les dates du mois précédent et du mois postérieur apparaîtront dans la sortie sous forme de zéros.

Étape 4) Vous pouvez récupérer les données du système local, comme les mois ou les jours de la semaine, etc.

  • La sortie ici montre que nous avons imprimé le nom des mois à partir du système local. De même, vous pouvez également récupérer le nom des jours de la semaine comme indiqué ci-dessous
  • La sortie dépendra du système local, supposons que si votre système local est dans d'autres pays, il donnera la sortie selon les paramètres locaux de ce pays. Ici, nous avons des mois, donc ce ne sera pas une différence, mais si c'est une semaine ou un jour, cela sera certainement différent.

Étape 5) Vous pouvez récupérer la liste du jour spécifique pour une année entière. Par exemple, il y a une journée d'audit tous les premiers lundis de la semaine. Vous voulez connaître la date du premier lundi de chaque mois. Vous pouvez utiliser ce code

  • mycal = calendar.monthcalendar (2025, month) créera le calendrier pour le mois
  • Définissez les variables semaine1 et semaine2 sur la première et la deuxième semaine du calendrier
  • Vérifiez si la semaine 1 contient le lundi, définissez le jour de l'audit
  • Sinon, définissez le jour de l'audit comme le premier lundi de la semaine 2
  • La sortie affiche la date du premier lundi de ce mois.
  • La longueur de cet objet Cal sera d'une certaine longueur, basée sur le nombre de semaines dans le mois. Dans notre cas, ce sera un ou deux en tant que tel premier lundi de la semaine sera le plus souvent dans la première semaine, mais sinon, considérez la deuxième semaine. Voyons en détail pourquoi nous considérons également la deuxième semaine.
  • Ici, nous utilisons la constante du calendrier lundi, l'objet calendrier vous donne des constantes qui représentent dimanche, lundi, mardi, etc. Nous avons vu cela auparavant. Ainsi, si dans la première semaine, le jour représenté par la constante du lundi n'est pas égal à 0, rappelez-vous que les zéros désignent les jours qui appartiennent à un autre mois. Donc, dans ce cas, si c'est zéro, ce sera un lundi qui appartient au mois précédent. Mais si le premier lundi n'est pas égal à 0, cela signifie que mon jour d'audit sera dans la première semaine. Sinon, si c'est 0, alors le premier lundi n'est pas dans la première semaine du mois, il doit être dans la seconde.
  • Alors, je dis d'accord, définissez ma variable de jour d'audit comme étant le lundi représenté par la deuxième semaine. Ainsi, le jour de l'audit reviendra avec quel que soit le jour de la première ou de la deuxième semaine.

Voici le code complet

Exemple Python 2

importer le calendrier# Créer un calendrier en texte brutc = calendrier.TextCalendar (calendrier.JEUDI)str = c.formatmonth (2025, 1, 0, 0)imprimer str# Créer un calendrier au format HTMLhc = calendrier.HTMLCalendar (calendrier.JEUDI)str = hc.formatmonth (2025, 1)imprimer str# boucle sur les jours d'un mois# zéros indique que le jour de la semaine appartient au mois suivant ou au mois qui se chevauchepour i dans c.itermonthdays (2025, 4):imprimer je# Le calendrier peut donner des informations basées sur des noms locaux tels que les jours et les mois (formes complètes et abrégées)pour le nom dans calendar.month_name:nom en caractères d'imprimeriepour le jour dans calendar.day_name:jour d'impression# calculer les jours en fonction d'une règle: par exemple, un jour d'audit le deuxième lundi de chaque mois# Déterminez quels jours ce serait pour chaque mois, nous pouvons utiliser le script comme indiqué icipour le mois dans la plage (1, 13):# Il récupère une liste de semaines qui représentent le moismycal = calendar.monthcalendar (2025, mois)# Le premier LUNDI doit être dans les deux premières semainessemaine1 = mycal [0]semaine2 = mycal [1]if week1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]autre:# si le premier LUNDI n'est pas dans la première semaine, il doit être dans la deuxième semaineauditday = week2 [calendar.MONDAY]print "% 10s% 2d"% (calendar.month_name [mois], auditday)

Exemple Python 3

importer le calendrier# Créer un calendrier en texte brutc = calendrier.TextCalendar (calendrier.JEUDI)str = c.formatmonth (2025, 1, 0, 0)imprimer (str)# Créer un calendrier au format HTMLhc = calendrier.HTMLCalendar (calendrier.JEUDI)str = hc.formatmonth (2025, 1)imprimer (str)# boucle sur les jours d'un mois# zéros indique que le jour de la semaine appartient au mois suivant ou au mois qui se chevauchepour i dans c.itermonthdays (2025, 4):imprimer (i)# Le calendrier peut donner des informations basées sur des noms locaux tels que les jours et les mois (formes complètes et abrégées)pour le nom dans calendar.month_name:imprimer (nom)pour le jour dans calendar.day_name:imprimer (jour)# calculer les jours en fonction d'une règle: par exemple, un jour d'audit le deuxième lundi de chaque mois# Déterminez quels jours ce serait pour chaque mois, nous pouvons utiliser le script comme indiqué icipour le mois dans la plage (1, 13):# Il récupère une liste de semaines qui représentent le moismycal = calendar.monthcalendar (2025, mois)# Le premier LUNDI doit être dans les deux premières semainessemaine1 = mycal [0]semaine2 = mycal [1]if week1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]autre:# si le premier LUNDI n'est pas dans la première semaine, il doit être dans la deuxième semaineauditday = week2 [calendar.MONDAY]print ("% 10s% 2d"% (calendar.month_name [mois], auditday))

Résumé:

  • En Python, vous pouvez formater le calendrier comme vous le souhaitez car vous pouvez changer le jour du mois pour commencer
  • Imprimer le calendrier au format HTML
  • Récupérez les données du système local, comme les mois ou les jours de la semaine
  • Récupérez la liste du jour spécifique pour une année entière