Deutsch English Français Italiano |
<u3rcqv$28fu$1@cabale.usenet-fr.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.trigofacile.com!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen <om+news@miakinen.net> Newsgroups: fr.comp.lang.python Subject: =?UTF-8?Q?datetime_:_passer_d'=c2=ab_offset-naive_=c2=bb_=c3=a0_?= =?UTF-8?B?wqsgb2Zmc2V0LWF3YXJlIMK7?= Date: Sun, 14 May 2023 21:29:35 +0200 Organization: There's no cabale Lines: 34 Message-ID: <u3rcqv$28fu$1@cabale.usenet-fr.net> NNTP-Posting-Host: 200.89.28.93.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1684092575 74238 93.28.89.200 (14 May 2023 19:29:35 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Sun, 14 May 2023 19:29:35 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 X-Mozilla-News-Host: news://news.galacsys.net:119 Bytes: 2219 Bonjour, Je voudrais pouvoir comparer en python des dates de courriels, au format d�fini par le RFC2822. Pour cela, j'utilise la fonction parsedate_to_datetime() qui est d�finie dans le module email.utils : from email.utils import parsedate_to_datetime date = parsedate_to_datetime("Sat, 13 May 2023 12:00:00 +0200") Tout fonctionne tr�s bien, y compris lorsque le timezone est +0000. Mais lorsque c'est -0000 le datetime correspondant se retrouve sans aucun tzinfo : date1 = parsedate_to_datetime("Sat, 13 May 2023 12:00:00 +0000") -> datetime.datetime(2023, 5, 13, 12, 0, tzinfo=datetime.timezone.utc) date2 = parsedate_to_datetime("Sat, 13 May 2023 12:00:00 -0000") -> datetime.datetime(2023, 5, 13, 12, 0) Le probl�me est qu'alors python refuse de faire la diff�rence entre ce datetime sans tzinfo et ceux qui en ont un : date1 - date2 -> TypeError: can't subtract offset-naive and offset-aware datetimes D'o� ma question : comment d�tecter qu'un datetime n'a pas de tzinfo, et dans ce cas seulement lui coller le tzinfo=datetime.timezone.utc ? Ou bien, autre solution, est-ce que je peux remplacer parsedate_to_datetime() par une fonction qui d�finirait bien le tzinfo dans tous les cas ? -- Olivier Miakinen