Comment comparer deux champs temporels en python

Je dois comparer deux chaînes de champs de temps représentées comme "[email protected]@EDT" . Comment puis-je les comparer de manière optimale en python?

Je veux faire >= taper comparsions sur des champs de type ssortingng.

 val1 = "[email protected]@EDT" val2 = "[email protected]@EDT" if val1 > = val2:  

 import datetime t=datetime.datetime.strptime("[email protected]@EDT","%Y%m%d@%H%M%S.%f@%Z") 

L’object datetime prend en charge la comparaison directe en utilisant> =.

standard python lib peut ne pas bien gérer les fuseaux horaires, vous aurez peut-être besoin d’un module tiers comme pytz

Utilisez le module datetime pour cela.

Utilisez datetime.datetime.strptime pour convertir les chaînes en dates, puis comparez-les en utilisant >= .

 import time from time import gmtime, strftime currentTime=strftime("%Y-%m-%d %H:%M:%S", gmtime()) print currentTime time.sleep(5) SecondTime=strftime("%Y-%m-%d %H:%M:%S", gmtime()) print SecondTime from dateutil.parser import parse parseSecondTime = parse(SecondTime) parseCurrentTime = parse(currentTime) diffOfTime = parseSecondTime - parseCurrentTime timeDifference=diffOfTime.total_seconds() print timeDifference if timeDifference>0: print 'SecondTime is greater' else: print 'Current Time is Greater' 

Quelque chose comme ce qui suit devrait faire l’affaire.

 import time val1 = "[email protected]@EDT" val2 = "[email protected]@EDT" a = time.strptime(val1, '%Y%m%d@%H%M%S.%f@%Z') b = time.strptime(val2, '%Y%m%d@%H%M%S.%f@%Z') if a >= b: