Si la date est fournie sous la forme 01st Jan, 2nd Jan
, il convient de fournir une sortie en UTC
avec l'année et l'heure en cours.Comment convertir en heure UTC avec les paramètres fournis ci-dessous?
Output : 2017-01-02T06:40:00Z
Si la date est fournie sous la forme 01st Jan, 2nd Jan
, il convient de fournir une sortie en UTC
avec l'année et l'heure en cours.Comment convertir en heure UTC avec les paramètres fournis ci-dessous?
Output : 2017-01-02T06:40:00Z
Vous ne pouvez pas seulement utiliser le module datetime
puisque les ordinaux ne sont pas traitées.
Mais vous pouvez utiliser une expression régulière pour reformater votre entrée, puis strptime
pour le convertir en un datetime
que vous pouvez convertir en chaînes de caractères en utilisant strftime
:
import re
import datetime
str_date = "2nd Jan"
now = datetime.datetime.utcnow()
PATTERN = re.compile(r"^0*(?P<day>[1-9]\d*)[^ ]* (?P<month>\w+)$")
reformatted = PATTERN.sub(r"\g<day> \g<month> %s", str_date) % now.strftime("%Y %H:%M:%S")
date = datetime.datetime.strptime(reformatted, "%d %b %Y %H:%M:%S")
print date.strftime("%Y-%m-%dT%H:%M:%SZ")
Affichera: 2017-01-02T09 : 03: 54Z
Excellent, merci. Pouvez-vous supprimer% symbole de Z dans la dernière ligne. –