Comment dois-je analyser un HTTP date chaîne de caractères en Python?
Est-il un moyen facile d'analyser HTTP date de chaînes de caractères en Python? Selon la norme, il existe plusieurs façons de format de date HTTP cordes; la méthode doit être capable de gérer cela.
En d'autres termes, je veux convertir une chaîne de caractères comme "Wed, 23 Sep 2009 22:15:29 GMT" pour un python temps de la structure.
Vous devez vous connecter pour publier un commentaire.
Si vous voulez un
datetime.datetime
objet, vous pouvez le faire:Sunday, 06-Nov-94 08:49:37 GMT
, encore 2616 dit un client DOIT être en mesure d'analyser la RFC 850 dates (soupir).email.utils.parsedate is email.Utils.parsedate -> True
Il semble que Utils est un paresseux chargeur.0
signifie1970-01-01T00:00:00Z
-- c'est la même instance à travers le monde (horloge locale montre des valeurs différentes, mais le timestamp est exactement le même). À moins que l'entrée timestring est en UTC (GMT), vous devez l'utilisationmktime_tz(parsedate_tz())
à la place -- sinon l'info sur le fuseau horaire est perdu.email.utils.parsedate_to_datetime
from email.utils import parsedate
(ou, maintenant que j'ai lu le commentaire précédent par @mgilbertfrom email.utils import parsedate_to_datetime
).email.utils.parse
est plus robuste, il est moins transparent.REMARQUE:
vous pouvez le faire, si vous n'avez que morceau de ficelle et que vous souhaitez analyser:
mais permettez-moi d'illustrer à travers des messages mime:
ou via http messages (réponses)
droit?
là, maintenant, nous avons maintenant plus sur les formats de date, des messages mime, mime des outils et de leurs pythonic mise en œuvre 😉
quel que soit le cas, semble meilleure que l'utilisation de la messagerie.utils pour l'analyse des en-têtes http.