Comment obtenir la difference en minutes entre deux dates en python ?

Comment obtenir la difference en minutes entre deux dates en python ?

Daidalos 19 mai 2020


Exemples de comment obtenir la difference en minutes entre deux dates en python:

1 -- Créer deux dates différentes

Créons tout d'abord deux dates time1 et time2 comme ceci en utilisant le module python datetime:

import datetime

year = 2008
month = 7
day = 8
hour = 12
minute = 47
second = 0

time1 = datetime.datetime(year,month,day,hour,minute,second)

hour = 14
minute = 20

time2 = datetime.datetime(year,month,day,hour,minute,second)

2 -- Exemple 1 en utilisant la fonction total_seconds()

On peut alors calculer la difference entre ces deux dates comme ceci

time_delta = time2 - time1

puis en extraire la difference en secondes:

delta_in_seconds = time_delta.total_seconds()

print(delta_in_seconds)

5580.0

que l'on peut ensuite facilement convertit en minutes en divisant par 60 (car 1 minute = 60 secondes):

delta_in_minutes = delta_in_seconds / 60.

print(delta_in_minutes)

ce qui donne

93.0

minutes de differences entre time1 et time2.

3 -- Exemple 2

Autre exemple:

delta_in_seconds = time_delta.seconds

print(delta_in_seconds)

delta_in_minutes = delta_in_seconds / 60.

print(delta_in_minutes)

4 -- Obtenir la fraction d'une minute

Si la difference en minutes entre les deux dates n'est pas un entier, une solution est d'utiliser divmod():

hour = 14
minute = 20
second = 25

time2 = datetime.datetime(year,month,day,hour,minute,second)

time_delta = time2 - time1

delta_in_seconds = time_delta.total_seconds()

delta_in_minutes = divmod(delta_in_seconds, 60)

print(delta_in_minutes)
print('Time difference : {} minutes and {} seconds'.format(delta_in_minutes[0],delta_in_minutes[1]))

donne

(93.0, 25.0)
Time difference : 93.0 minutes and 25.0 seconds

5 -- Références