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

Jinku Hu 10 octobre 2023
  1. datetime.strptime() pour convertir une chaîne en datetime
  2. Python datetime.strptime() Exemples
Comment convertir une chaîne de caractères en datetime en Python

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)
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - Python String

Article connexe - Python DateTime