Re: datetime : passer d'« offset-naive » à « offset-aware »

Liste des GroupesRevenir à fcl python 
Sujet : Re: datetime : passer d'« offset-naive » à « offset-aware »
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.python
Date : 14. May 2023, 21:56:26
Autres entêtes
Organisation : There's no cabale
Message-ID : <u3reda$291m$1@cabale.usenet-fr.net>
References : 1
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Re-bonjour,

Le 14/05/2023 21:29, Olivier Miakinen a écrit :
 
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")
 
[...] 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 ?

Bon, RTFM comme on dit, j'ai lu le manuel et j'arrive à ça :

===============================================================
from email.utils import parsedate_to_datetime
from datetime import datetime, timezone

def my_parsedate(rfc2822_date):
    d = parsedate_to_datetime(rfc2822_date)
    if (d.tzinfo is None) or (d.tzinfo.utcoffset(d) is None):
        # d is a naive timedate, make it aware
        d = datetime.combine(d.date(), d.time(), timezone.utc)
    return d
===============================================================

Est-ce que ça vous semble correct ? Et si même ça l'est, y aurait-il mieux ?


Cordialement,
--
Olivier Miakinen

Date Sujet#  Auteur
14 May 23 * datetime : passer d'« offset-naive » à « offset-aware »8Olivier Miakinen
14 May 23 `- Re: datetime : passer d'« offset-naive » à « offset-aware »7Olivier Miakinen

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal