Le module datetime propose des fonctions et des classes pour l'analyse, le formatage et les opérations arithmétiques relatives aux dates et au temps.
Dans cet article, vous allez aussi apprendre à calculer la différence de temps entre deux temps en Python. Par exemple, nous voulons mesurer le temps d'exécution d'un programme. Dans ce cas, nous devons calculer la différence de temps entre les heures de début et de fin du programme.
Nous pouvons également avoir besoin de calculer le décalage horaire entre deux événements. Nous devons soustraire un temps/horodatage d'un autre pour calculer la différence de temps entre deux temps.
# main.py import datetime aujourd_hui = datetime.date.today() print ("Aujourd'hui est :", aujourd_hui) un_jour = datetime.timedelta(days=1) print ("Un jour :", un_jour) hier = aujourd_hui - un_jour print ("Hier est :", hier) demain = aujourd_hui + un_jour print ("Demain est :", demain) print ("demain - hier = ", demain - hier) print ("hier - demain = ", hier - demain)
Aujourd'hui : 2013-02-21 Un jour : 1 day, 0:00:00 Hier : 2013-02-20 Demain : 2013-02-22 demain - hier = 2 jours, 0:00:00 hier - demain = -2 jours, 0:00:00
# main.py import datetime import time print ("Temps:") Temps1 = datetime.time(12, 55, 0) print ("\tTemps1:", Temps1) Temps2 = datetime.time(13, 5, 0) print ("\tTemps2:", Temps2) print ("\tTemps1 < Temps2 est :", Temps1 < Temps2) print ("Dates:") Date1 = datetime.date.today() print ("\tDate1:", Date1) Date2 = datetime.date.today() + datetime.timedelta(days=1) print ("\tDate2:", Date2) print ("\tDate1 > Date2 est :", Date1 > Date2)
Temps: Temps1: 12:55:00 Temps2: 13:05:00 Temps1 < Temps2 est : True Dates: dDate1: 2016-09-07 Date2: 2016-09-08 Date1 > Date2 est : False
# main.py from datetime import datetime temps_debut = "2:13:57" temps_fin = "11:46:38" # convertir la chaîne de temps en date t1 = datetime.strptime(temps_debut, "%H:%M:%S") print('Le temps de début est : ', t1.time()) t2 = datetime.strptime(temps_fin, "%H:%M:%S") print('Le temps de fin est : ', t2.time()) # obtenir la différence delta = t2 - t1 # la différence de temps en secondes print(f"La différence de temps en seconde est: {delta.total_seconds()} secondes") # la différence de temps en millisecondes ms = delta.total_seconds() * 1000 print(f"La différence de temps en millisecondes est : {ms} millisecondes")La sortie est :
Le temps de début est : 02:13:57 Le temps de fin est : 11:46:38 La différence de temps en seconde est: 34361.0 secondes La différence de temps en millisecondes est : 34361000.0 millisecondes
Remarque : pour calculer la différence de temps en minutes et en heures, appliquez les relations ci-dessous.
# main.py from datetime import datetime temps_debut = "2:13:57" temps_fin = "11:46:38" t1 = datetime.strptime(temps_debut, "%H:%M:%S") t2 = datetime.strptime(temps_fin, "%H:%M:%S") # obtenir la différence delta = t2 - t1 # la différence de temps en secondes sec = delta.total_seconds() print(f"La différence de temps en seconde est: {sec} secondes") # la différence de temps en minutes dm = sec / 60 print(f"La différence de temps en minutes est : {dm} minutes") # la différence de temps en heures dh = sec / (60*60) print(f"La différence de temps en heures est : {dh} heures")La sortie est :
La différence de temps en seconde est: 34361.0 secondes La différence de temps en minutes est : 572.6833333333333 minutes La différence de temps en heures est : 9.544722222222223 heures
# main.py from datetime import datetime # start and end timestamps debut_ts = 1652426243.907874 fin_ts = 1652436243.907874 # convertir timestamps en un objet datetime dt1 = datetime.fromtimestamp(debut_ts) print('Datetime du debut:', dt1) dt2 = datetime.fromtimestamp(fin_ts) print('Datetime de la fin :', dt2) # Différence entre deux timestamps # au format heures:minutes:secondes delta = dt2 - dt1 print('Différence est:', delta)Le résultat est comme suit :
Datetime du debut: 2022-05-13 08:17:23.907874 Datetime de la fin : 2022-05-13 11:04:03.907874 Différence est: 2:46:40
# main.py from datetime import datetime # Les timestamps de début et de fin debut_ts = 1652426243.907874 fin_ts = 1652436243.907874 # Différence entre deux timestamps # en secondes delta = fin_ts - debut_ts print('Différence est:', delta, "secondes")
La sorie sra comme suit: Différence est: 10000.0 secondesVu que le timestamp est en secondes la différence directe entre deux timestamps est en secondes.
# main.py from datetime import datetime # La fonction pour convertir en temps #format (heure, min, sec) def convert(secondes): min, sec = divmod(secondes, 60) heure, min = divmod(min, 60) return "%d h %02d min %02d sec" % (heure, min, sec) # Les timestamps de début et de fin debut_ts = 1652426243.907874 fin_ts = 1652436243.907874 # Différence entre deux timestamps # en secondes delta = fin_ts - debut_ts print(convert(delta))La sortie sera comme suit :
Livre numérique court pour comprendre la méthode secrète permettant d'obtenir des likes sans fin sur Facebook.
GAGNER DE L'ARGENT