Re: Écart entre deux dates.

Liste des GroupesRevenir à fcl python 
Sujet : Re: Écart entre deux dates.
De : nicolasp (at) *nospam* aaton.com (Nicolas)
Groupes : fr.comp.lang.python
Date : 23. May 2022, 10:23:13
Autres entêtes
Organisation : Guest of ProXad - France
Message-ID : <628b446a$0$22071$426a74cc@news.free.fr>
References : 1
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0
Bonjour,
Le 22/05/2022 à 16:15, Dominique a écrit :
Bonjour,
 Dans Linux référence spécial Python, il est proposé des exercices que je fais.
 Il nous est demandé de calculer l'écart entre deux dates en utilisant dateutil.
 J'ai écrit ces quelques lignes, mais je les trouve compliquées et peu élégantes. Je n'ai rien trouvé de probant dans la bibliothèque dateutil :
 from dateutil import parser
date1=parser.parse('2022-06-10')
date2=parser.parse('2022-01-01')
print((date1-date2).days)
160
 Est-il possible de l'améliorer ? De plus, je ne vois pas très bien à quoi correspond la fonction parser (et parse dans la foulée...)
Je ne suis pas allé voir la documentation, mais visiblement, la fonction parser.parse() convertit une chaine de caractères en date (au format utilisé par dateutil).

 L'aide (help('parser')) ne m'éclaire pas beaucoup...
help('parser') (avec des cotes) renvoie l'aide d'une fonctionnalité interne de Python :
 >>> help('parser')
Help on built-in module parser:
NAME
     parser - This is an interface to Python's internal parser.
La bonne syntaxe est sans les cotes :
help(parser)

 J'ai évité astropy avec les calculs de jours juliens. Ça aurait ajouté de la complication, je pense.
A noter que la bibliothèque standard de Python permet de manipuler du temps et des dates :
 >>> import datetime
 >>> dt1 = datetime.datetime.now()
 >>> dt2 = datetime.datetime.now()
 >>> dt2 - dt1
datetime.timedelta(0, 5, 799467)
 >>> d1 = datetime.datetime.now().date()
 >>> d2 = datetime.datetime.now().date()
 >>> d2 - d1
datetime.timedelta(0)
 >>> t1 = datetime.datetime.now().time()
 >>> t2 = datetime.datetime.now().time()
 >>> t2 -t1
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'
De façon surprenante, la différence sur des temps n'est pas implémentée.
Nicolas
 En vous remerciant,
 Dominique

Date Sujet#  Auteur
22 May 22 * Écart entre deux dates.6Dominique
23 May 22 +* Re: Écart entre deux dates.3Nicolas
23 May 22 i`* Re: Écart entre deux dates.2Damien Wyart
23 May 22 i `- Re: Écart entre deux dates.1Nicolas
23 May 22 `* Re: Écart entre deux dates.2Damien Wyart
23 May 22  `- Re: Écart entre deux dates.1Dominique

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal