Python DateTime, TimeDelta, Strftime(Format) avec des exemples
En Python, date, heure et datetime classes fournit un certain nombre de fonctions pour gérer les dates, les heures et les intervalles de temps. La date et la date/heure en Python sont les objets, donc lorsque vous les manipulez, vous manipulez en fait des objets et non des chaînes ou des horodatages. Chaque fois que vous manipulez des dates ou des heures, vous devez importer la fonction datetime.
Les classes datetime en Python sont classées en 5 classes principales.
- date – Manipuler uniquement la date (mois, jour, année)
- time – Heure indépendante du jour (Heure, minute, seconde, microseconde)
- datetime - Combinaison de l'heure et de la date (mois, jour, année, heure, seconde, microseconde)
- timedelta— Une durée utilisée pour manipuler les dates
- tzinfo— Une classe abstraite pour gérer les fuseaux horaires
Dans ce tutoriel, nous allons apprendre-
- Comment utiliser la classe Date &DateTime
- Imprimer la date en utilisant date.today()
- Date et heure actuelles en Python :maintenant() aujourd'hui()
- Comment formater la date et l'heure avec Strftime()
- Comment utiliser les objets Timedelta
Comment utiliser la classe Date &DateTime
Étape 1 ) Avant d'exécuter le code pour le format datetime en Python, il est important d'importer les modules de date et d'heure Python comme indiqué dans la capture d'écran ci-dessous.
Ces instructions d'importation sont des fonctionnalités prédéfinies dans la bibliothèque Python qui vous permettent de manipuler les dates et les heures, sans écrire de code.
Considérez les points suivants avant d'exécuter le code de format datetime Python
from datetime import date
Cette ligne indique à l'interpréteur Python d'importer la classe de date à partir du module datetime en Python. Nous n'écrivons pas le code pour cette fonctionnalité de date, hélas, nous l'importons juste pour notre usage
Étape 2 ) Ensuite, nous créons une instance de l'objet date.
Étape 3 ) Ensuite, nous imprimons la date et exécutons le code.
La sortie est comme prévu.
Imprimer la date en utilisant date.today()
date.today
fonction a plusieurs propriétés qui lui sont associées. Nous pouvons imprimer un jour/mois/année individuel et bien d'autres choses
Voyons un exemple
Numéro du jour de la semaine d'aujourd'hui
La fonction date.today() vous donne également le numéro du jour de la semaine. Voici le tableau des jours de la semaine qui commence par lundi par 0 et dimanche par 6
Le numéro du jour de la semaine est utile pour les tableaux dont l'index dépend du jour de la semaine.
Date et heure actuelles en Python :maintenant() aujourd'hui()
Étape 1) Comme les objets de date, nous pouvons également utiliser "DATETIME OBJECTS" en Python. Les objets de date et d'heure Python donnent la date ainsi que l'heure en heures, minutes, secondes et millisecondes.
Lorsque nous exécutons le code pour datetime, il donne la sortie avec la date et l'heure actuelles.
Étape 2) Avec "DATETIME OBJECT", vous pouvez également appeler la classe de temps.
Supposons que nous voulions imprimer uniquement l'heure actuelle sans la date.
t = datetime.time(datetime.now())
- Nous avions importé la classe de temps. Nous allons lui attribuer la valeur actuelle de l'heure en utilisant datetime.now()
- Nous attribuons la valeur de l'heure actuelle à la variable t.
Et cela me donnera juste le temps. Exécutons donc ce programme.
OK, donc vous pouvez voir qu'ici j'ai la date et l'heure. Et puis la ligne suivante, j'ai juste le temps tout seul
Étape 3) Nous appliquerons notre indexeur de jour de la semaine à notre arrayList de jour de la semaine pour savoir quel jour est aujourd'hui
- L'opérateur des jours de la semaine (wd) se voit attribuer le numéro de (0-6) en fonction du jour de la semaine en cours. Ici, nous avons déclaré le tableau de la liste pour les jours (Lun, Mar, Mer…Dim).
- Utilisez cette valeur d'index pour savoir quel jour nous sommes. Dans notre cas, c'est #2, et cela représente mercredi, donc dans la sortie, il affichera "Qui est un mercredi."
Voici le code complet pour obtenir la date et l'heure actuelles en utilisant datetime maintenant
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print (today) # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd=date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print("Today is day number %d" % wd) print("which is a " + days[wd]) if __name__== "__main__": main()
Comment formater la date et l'heure avec Strftime()
À partir de maintenant, nous avons appris à utiliser l'objet datetime et date en Python. Nous allons avancer un peu plus loin et apprendre à utiliser une fonction de formatage pour formater l'heure et la date.
Étape 1) Nous allons d'abord voir une étape simple pour formater l'année. Il vaut mieux comprendre avec un exemple.
- Nous avons utilisé la "fonction strftime" pour le formatage.
- Cette fonction utilise un code de contrôle différent pour donner une sortie.
- Chaque code de contrôle ressemble à différents paramètres comme l'année, le mois, le jour de la semaine et la date [(%y/%Y – Année), (%a/%A- jour de la semaine), (%b/%B- mois) , (%d – jour du mois)] .
- Dans notre cas, il s'agit de ("%Y") qui ressemble à l'année, il imprime l'année complète avec le siècle (par exemple, 2018).
Étape 2) Maintenant, si vous remplacez ("%Y") par des minuscules, c'est-à-dire ("%y) et exécutez le code, la sortie affichera uniquement (18) et non (2018). Le siècle de l'année ne s'affichera pas comme indiqué dans la capture d'écran ci-dessous
Étape 3) La fonction Strf peut déclarer la date, le jour, le mois et l'année séparément. De plus, avec de petits changements dans le code de contrôle dans la fonction strftime, vous pouvez formater le style du texte.
Dans la fonction strftime, si vous remplacez (%a) par un A majuscule, c'est-à-dire (%A), la sortie s'imprimera sous la forme "Firday" au lieu d'une simple abréviation "Fri".
Étape 4) Avec l'aide de la fonction "Strftime", nous pouvons également récupérer l'heure, la date ou les deux du système local.
- %C- indique la date et l'heure locales
- %x- indique la date locale
- %X- indique l'heure locale
Dans la sortie, vous pouvez voir le résultat comme prévu
Étape 5) La "fonction strftime" vous permet d'appeler l'heure dans n'importe quel format 24 heures ou 12 heures.
Juste en définissant un code de contrôle comme %I/H pour l'heure, %M pour la minute, %S pour la seconde, on peut appeler l'heure pour différents formats
12 heures l'heure est déclarée [print now.strftime(“%I:%M:%S %p) ]
24 heures l'heure est déclarée [print now.strftime(“%H:%M”)]
Voici le code complet pour convertir datetime en objet String.
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print(now.strftime("%c")) print(now.strftime("%x")) print(now.strftime("%X")) ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM print(now.strftime("%H:%M")) # 24-Hour:Minute if __name__== "__main__": main()
Qu'est-ce que Timedelta en Python ?
Timedelta en Python est un objet qui représente la durée. Il est principalement utilisé pour calculer la durée entre deux dates et heures. Il est également utilisé pour récupérer l'objet avec une date et une heure delta. L'objet timedelta prend en charge les opérations mathématiques telles que les additions, les soustractions, la multiplication, la division, etc.
Comment utiliser les objets Timedelta
Avec les objets Python timedelta, vous pouvez estimer le temps pour le futur et le passé. En d'autres termes, il s'agit d'un laps de temps pour prédire un jour, une date ou une heure spéciale.
N'oubliez pas que cette fonction ne sert pas à imprimer l'heure ou la date, mais quelque chose à CALCULER sur le futur ou le passé . Voyons un exemple Python timedelta pour mieux le comprendre.
Étape 1) Pour exécuter les objets Timedelta, vous devez d'abord déclarer l'instruction d'importation, puis exécuter le code
- Écrire une déclaration d'importation pour timedelta
- Écrivez maintenant le code pour imprimer l'objet à partir du delta de temps comme indiqué dans la capture d'écran
- Exécutez le code. Le timedelta représente une période de 365 jours, 8 heures et 15 minutes et imprime la même chose
Déroutant? La prochaine étape aidera-
Étape 2) Obtenons la date et l'heure d'aujourd'hui pour vérifier si notre déclaration d'importation fonctionne bien. Lorsque le code est exécuté, il imprime la date du jour, ce qui signifie que notre instruction d'importation fonctionne bien
Étape 3) Nous verrons comment récupérer la date dans un an grâce aux objets delta. Lorsque nous exécutons le code, il donne le résultat attendu.
Étape 4) Un autre exemple de la façon dont le delta de temps peut être utilisé pour calculer une date future à partir de la date et de l'heure actuelles
Étape 5) Examinons un exemple plus complexe. Je voudrais déterminer combien de jours après le Nouvel An. Voici comment nous allons procéder
- En utilisant today=date.today() nous obtiendrons la date d'aujourd'hui
- Nous savons que le Nouvel An tombe toujours le 1er janvier, mais l'année peut être différente. En utilisant nyd=date(today.year,1,1) nous stockons la nouvelle année dans la variable nyd
- if nyd
- ((today-nyd).days) donne la différence entre une date actuelle et la nouvelle année en JOURS
Le résultat indique que "le jour de l'An est déjà passé il y a 11 jours".
Voici le code de travail complet
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print (timedelta(days=365, hours=8, minutes=15)) # print today's date print ("today is: " + str(datetime.now())) # print today's date one year from now print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365))) # create a timedelta that uses more than one argument # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print ("New Year day is already went by %d days ago" % ((today - nyd).days))
Exemple Python 2
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print today # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd = date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print "Today is day number %d" % wd print "which is a " + days[wd] if __name__== "__main__": main()
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print now.strftime("%c") print now.strftime("%x") print now.strftime("%X") ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM print now.strftime("%H:%M") # 24-Hour:Minute if __name__== "__main__": main()
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print timedelta(days=365, hours=8, minutes=15) # print today's date print "today is: " + str(datetime.now()) # print today's date one year from now print "one year from now it will be:" + str(datetime.now() + timedelta(days=365)) # create a timedelta that uses more than one argument # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print "New Year day is already went by %d days ago" % ((today - nyd).days)
Résumé
Pour manipuler les dates et les heures de manière simple et complexe, le module datetime fournit différentes classes ou catégories telles que
- date – Manipuler uniquement la date (mois, jour, année)
- time – Heure indépendante du jour (Heure, minute, seconde, microseconde)
- datetime - Combinaison de l'heure et de la date (mois, jour, année, heure, seconde, microseconde)
- timedelta— Une durée utilisée pour manipuler les dates
- tzinfo— Une classe abstraite pour gérer les fuseaux horaires
Utilisation d'objets datetime
- L'importation d'objets datetime avant l'exécution du code est obligatoire
- Utilisation de la fonction date.today pour imprimer une date/mois/année individuelle ainsi que pour indexer le jour
- Utilisation de l'objet date.time pour obtenir l'heure en heures, minutes, secondes et millisecondes
Time-out de formatage avec "str f time function"
- Utilisez "str f time function" pour changer le format de l'année
- Imprimez le jour, la date, le mois et l'année séparément,
- Temps d'appel pour n'importe quel format 12 heures ou 24 heures
Objets Timedelta
- Avec les objets timedelta, vous pouvez estimer le temps pour le futur et le passé
- Calculez le nombre total de jours restants pour le jour spécial (anniversaire) à partir de l'heure actuelle
- Calculer le nombre total de jours passés pour un jour spécial (anniversaire) à partir de l'heure actuelle
Python
- Date-heure Python
- Comment obtenir la date et l'heure actuelles en Python ?
- Python Obtenir l'heure actuelle
- Module de temps Python
- Sommeil Python()
- Instruction Python Print() :comment imprimer avec des exemples
- Python String count() avec des EXEMPLES
- Python String format() Expliquer avec des EXEMPLES
- Méthode Python String find() avec exemples