Les objets datetime per­met­tent d’effectuer fa­ci­le­ment des calculs de temps tels que l’ajout ou la sous­trac­tion d’in­ter­valles de temps. La con­ver­sion de chaînes de ca­rac­tères (string) en objets datetime joue un rôle central dans la struc­tu­ra­tion, l’analyse et l’affichage précis des données tem­po­relles dans la pro­gram­ma­tion Python.

Comment fonc­tionne Python String to datetime ?

Python String to datetime est un processus per­met­tant de convertir une chaîne de texte contenant une re­pré­sen­ta­tion de la date et/ou de l’heure en un objet datetime. Datetime est une structure de données en Python per­met­tant de re­pré­sen­ter et de manipuler des in­for­ma­tions de date et d’heure. La con­ver­sion d’une chaîne de ca­rac­tères en datetime peut s’avérer né­ces­saire si vous tra­vail­lez avec des in­for­ma­tions de date et d’heure qui se pré­sen­tent sous forme de chaînes de ca­rac­tères.

Les in­for­ma­tions sont ainsi con­ver­ties dans un format uti­li­sable, par exemple pour effectuer des calculs, comparer des dates ou formater des données tem­po­relles. Les méthodes String Format en Python de con­ca­té­na­tion d’ex­pres­sions peuvent également vous être utiles lorsque vous tra­vail­lez avec des objets datetime.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus

Convertir des chaînes de ca­rac­tères en objets datetime

Python String to datetime comprend plusieurs fonctions et modules, comme la bi­blio­thèque datetime et la méthode strptime(), pour convertir des chaînes de ca­rac­tères en objets datetime et vice versa.

Uti­li­sa­tion de strptime()

La méthode strptime() (String Parse Time) de la bi­blio­thèque datetime sert à convertir une chaîne de ca­rac­tères en un objet du module Python datetime. Elle nécessite deux arguments : la chaîne à analyser et le format date/heure de la chaîne.

datetime.strptime(date_string, format)
python

datetime.datetime()

La méthode strptime() permet de convertir une chaîne de ca­rac­tères en un objet datetime.datetime en tenant compte d’un format de date/heure spé­ci­fique.

from datetime import datetime
date_string = '2023-10-30 12:00:00'
date_objet = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(date_objet) # Sortie : 2023-10-30 12:00:00
python

Dans cet exemple, la date_string est donnée comme '2023-10-30 12:00:00', et le format '%Y-%m-%d %H:%M:%S' définit l’ordre et l’apparence de la date ainsi que de l’heure dans la chaîne. La méthode strptime() analyse la chaîne selon ce format et crée un objet datetime.datetime qui est ensuite stocké dans la variable date_object.

Ici, '%Y-%m-%d %H:%M:%S' signifie :

  • %Y : année à quatre chiffres
  • %m : mois à deux chiffres
  • %d : nombre de jours à deux chiffres
  • %H : heure (format 24 heures)
  • %M : minute
  • %S : seconde

datetime.time()

En con­ver­tis­sant des chaînes de ca­rac­tères en un objet datetime.time, il est possible d’afficher des heures sans date. Cela peut être réalisé avec la méthode strptime() de la classe datetime ou en divisant une chaîne de temps en heures, minutes et secondes.

from datetime import datetime
time_string = '14:30:00'
time_object = datetime.strptime(time_string, '%H:%M:%S').time()
print(time_object) # Sortie : 14:30:00
python

'%H:%M:%S' re­pré­sente le format heures:minutes:secondes. La méthode strptime() in­ter­prète la chaîne de temps selon ce format et crée un objet datetime.time.

datetime.date()

Vous pouvez aussi convertir une chaîne de ca­rac­tères en un objet datetime.date en utilisant la méthode strptime() de la classe datetime ou en divisant ma­nuel­le­ment la chaîne de date en année, mois et jour.

from datetime import datetime
date_string = '2023-11-30'
date_object = datetime.strptime(date_string, '%Y-%m-%d').date()
print(date_object) # Sortie : 2023-11-30
python

'%Y-%m-%d' est le format année-mois-jour. La méthode strptime() analyse la chaîne de date et conçoit un objet datetime.date.

Trouver et résoudre les erreurs strptime()

En utilisant la méthode strptime() pour Python String to DateTime, vous pouvez ren­con­trer des erreurs, en par­ti­cu­lier si le format donné ne cor­res­pond pas au format de la chaîne d’entrée. Voici quelques erreurs courantes et comment les corriger :

  • ValueError: time data '...' does not match format '...' : cette erreur se produit lorsque la chaîne de ca­rac­tères en entrée ne cor­res­pond pas au format spécifié. Assurez-vous que le modèle de format correct a été utilisé dans strptime().
  • ValueError: unconverted data remains : cette erreur est affichée s’il reste des données non in­ter­pré­tées après le trai­te­ment de la chaîne. Vérifiez le modèle de format afin que toutes les parties de la chaîne d’entrée soient couvertes par le format.
  • TypeError: strptime() argument 1 must be str, not ... : cela peut arriver si le paramètre passé à strptime() n’est pas une chaîne de ca­rac­tères. Vérifiez que la valeur passée est une chaîne de ca­rac­tères contenant le format date/heure.

Vous devez vous assurer que le modèle de format in­ter­prète cor­rec­te­ment toutes les parties de la chaîne d’entrée (année, mois, jour, heure, etc.). Tenez compte des éven­tuelles dif­fé­rences de sé­pa­ra­teurs, de ma­jus­cules et d’autres détails entre le modèle de format et la chaîne d’entrée.

Aller au menu principal