String to datetime en Python : conversion d'une chaîne de caractères en datetime

Les objets datetime permettent d’effectuer facilement des calculs de temps tels que l’ajout ou la soustraction d’intervalles de temps. La conversion de chaînes de caractères (string) en objets datetime joue un rôle central dans la structuration, l’analyse et l’affichage précis des données temporelles dans la programmation Python.

Comment fonctionne Python String to datetime ?

Python String to datetime est un processus permettant de convertir une chaîne de texte contenant une représentation de la date et/ou de l’heure en un objet datetime. Datetime est une structure de données en Python permettant de représenter et de manipuler des informations de date et d’heure. La conversion d’une chaîne de caractères en datetime peut s’avérer nécessaire si vous travaillez avec des informations de date et d’heure qui se présentent sous forme de chaînes de caractères.

Les informations sont ainsi converties dans un format utilisable, par exemple pour effectuer des calculs, comparer des dates ou formater des données temporelles. Les méthodes String Format en Python de concaténation d’expressions peuvent également vous être utiles lorsque vous travaillez avec des objets datetime.

Hébergement Web
Hébergement Web flexible, performant et sûr
  • Certificat SSL et protection DDoS
  • Sauvegarde et restauration des données
  • Assistance 24/7 et conseiller personnel

Convertir des chaînes de caractères en objets datetime

Python String to datetime comprend plusieurs fonctions et modules, comme la bibliothèque datetime et la méthode strptime(), pour convertir des chaînes de caractères en objets datetime et vice versa.

Utilisation de strptime()

La méthode strptime() (String Parse Time) de la bibliothèque datetime sert à convertir une chaîne de caractè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 caractères en un objet datetime.datetime en tenant compte d’un format de date/heure spécifique.

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 convertissant des chaînes de caractè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' représente le format heures:minutes:secondes. La méthode strptime() interprè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 caractères en un objet datetime.date en utilisant la méthode strptime() de la classe datetime ou en divisant manuellement 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 rencontrer des erreurs, en particulier si le format donné ne correspond 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 caractères en entrée ne correspond 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 interprétées après le traitement 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 caractères. Vérifiez que la valeur passée est une chaîne de caractères contenant le format date/heure.

Vous devez vous assurer que le modèle de format interprète correctement toutes les parties de la chaîne d’entrée (année, mois, jour, heure, etc.). Tenez compte des éventuelles différences de séparateurs, de majuscules et d’autres détails entre le modèle de format et la chaîne d’entrée.

Cet article vous a-t-il été utile ?
Page top