Comment convertir une chaîne de caractères en datetime en Python

  1. datetime.strptime() pour convertir une chaîne en datetime
  2. Python datetime.strptime() Exemples

Ce tutoriel présente comment convertir une string en datetime en Python et donne également quelques exemples de codes pour couvrir les formats populaires de datetime string.

datetime.strptime() pour convertir une chaîne en datetime

Dans le tutoriel précédent, nous avons appris comment obtenir la date et l’heure au format chaîne en utilisant la méthode datetime.strftime(). Nous utiliserons la méthode datetime.strptime() pour faire la conversion inverse afin d’obtenir l’objet datetime. f et p dans ces deux méthodes signifient respectivement format et parse.

La méthode datetime.strptime() analyse la chaîne d’entrée avec le format datetime donné et retourne l’objet datetime.

L’exemple de base pour utiliser cette méthode strptime() est montré ci-dessous,

from datetime import datetime

datetime.strptime("2018-01-31", "%Y-%m-%d")

Le résultat sera

datetime.datetime(2018, 1, 31, 0, 0)

Les directives des codes de format de chaîne de caractères sont listées ici pour votre référence

Directive Signification Exemple
%a Jour de la semaine comme nom abrégé de la localité. Sun, Mon, …, Sat (en_US);So, Mo, …, Sa (de_DE)
%A Le jour de la semaine comme nom complet de la localité. Sunday, Monday, …, Saturday (en_US);Sonntag, Montag, …, Samstag (de_DE)
%w Le jour de la semaine sous forme de nombre décimal, où 0 est le dimanche et 6 le samedi. 0, 1, …, 6
%d Le jour du mois en tant que nombre décimal à zéro. 01, 02, …, 31
%b Mois comme nom abrégé de la localité. Jan, Feb, …, Dec (en_US);Jan, Feb, …, Dez (de_DE)
%B Mois comme nom complet de la localité. January, February, …, December (en_US);Januar, Februar, …, Dezember (de_DE)
%m Mois en tant que nombre décimal à zéro. 01, 02, …, 12
%y Année sans siècle comme nombre décimal à zéro. 00, 01, …, 99
%Y Année avec le siècle comme nombre décimal. 0001, 0002, …, 2013, 2014, …, 9998, 9999
%H L’heure (horloge 24 heures) sous la forme d’un nombre décimal à zéro. 00, 01, …, 23
%I L’heure (horloge de 12 heures) sous forme de nombre décimal à zéro. 01, 02, …, 12
%p L’équivalent local de AM ou PM. AM, PM (en_US);am, pm (de_DE)
%M Minute sous forme de nombre décimal à zéro. 00, 01, …, 59
%S Deuxième comme un nombre décimal à zéro. 00, 01, …, 59
%f Microseconde comme nombre décimal, avec un zéro à gauche. 000000, 000001, …, 999999
%z Décalage UTC sous la forme ±HHMM[SS] (chaîne vide si l’objet est naïf). (vide), +0000, -0400, +1030
%Z Nom du fuseau horaire (chaîne vide si l’objet est naïf). (vide), UTC, EST, CST
%j Le jour de l’année en tant que nombre décimal à zéro. 001, 002, …, 366
%U Numéro de la semaine de l’année (dimanche comme premier jour de la semaine) sous forme de nombre décimal à zéro capitonné. Tous les jours d’une nouvelle année précédant le premier dimanche sont considérés comme faisant partie de la semaine 0. 00, 01, …, 53
%W Numéro de la semaine de l’année (lundi comme premier jour de la semaine) sous forme de nombre décimal. Tous les jours d’une nouvelle année précédant le premier lundi sont considérés comme faisant partie de la semaine 0. 00, 01, …, 53
%c La représentation appropriée de la date et de l’heure de la localité. Tue Aug 16 21:30:00 1988 (en_US);Di 16 Aug 21:30:00 1988 (de_DE)
%x La représentation de la date appropriée de la localité. 16/08/88 (None);16/08/1988 (en_US);16.08.1988 (de_DE)
%X La représentation temporelle appropriée de la localité. 21:30:00 (en_US);21:30:00 (de_DE)
%% Un caractère littéral %. %

Python datetime.strptime() Exemples

7-May-2013 format datetime

from datetime import datetime

dateString = "7-May-2018"
dateFormatter = "%u-%b-%Y"
datetime.strptime(dateString, dateFormatter)

Production

datetime.datetime(2013, 5, 1, 0, 0)

31/12/2018 format datetime

from datetime import datetime

dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)

Production

datetime.datetime(2013, 12, 31, 0, 0)

Mon, July 16 2018 datetime format

from datetime import datetime

dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)

Production

datetime.datetime(2018, 7, 16, 0, 0)

Monday, July 16, 2018 20:01:56 datetime format

from datetime import datetime

dateString = "Monday, July 16, 2018 20:01:56"
dateFormatter = "%A, %B %d, %Y %H:%M:%S"
datetime.strptime(dateString, dateFormatter)

Production:

datetime.datetime(2018, 7, 16, 20, 1, 56)

Article connexe - Python String

  • Comment vérifier qu'une chaîne est vide de manière pythonique
  • Comment supprimer les espaces dans une chaîne de caractères en Python
  • Comment convertir une chaîne de caractères en minuscules en Python 2 et 3
  • Comment vérifier si une chaîne de caractères contient une sous-chaîne en Python
  • Comment convertir une liste en chaîne de caractères en Python
  • Comment convertir une chaîne de caractères en Float ou Int en Python
  • Comment lire un fichier ligne par ligne dans une liste en Python
  • Comment convertir une chaîne de caractères en octets en Python
  • Comment vérifier qu'une chaîne de caractères contient un nombre en python
  • Article connexe - Python datetime

  • Comment vérifier qu'une chaîne est vide de manière pythonique
  • Comment supprimer les espaces dans une chaîne de caractères en Python
  • Comment convertir une chaîne de caractères en minuscules en Python 2 et 3
  • Comment vérifier si une chaîne de caractères contient une sous-chaîne en Python
  • Comment convertir une liste en chaîne de caractères en Python
  • Comment convertir une chaîne de caractères en Float ou Int en Python
  • Comment lire un fichier ligne par ligne dans une liste en Python
  • Comment convertir une chaîne de caractères en octets en Python
  • Comment vérifier qu'une chaîne de caractères contient un nombre en python
  • Comment convertir la colonne DataFrame en date-heure dans les pandas
  • Comment obtenir l'heure actuelle en Python
  • comments powered by Disqus