Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Python strptime()

Python strptime()

Dans cet article, vous apprendrez à créer un objet datetime à partir d'une chaîne (à l'aide d'exemples).

Vidéo :Dates et heures en Python

Le strptime() La méthode crée un objet datetime à partir de la chaîne donnée.

Remarque : Vous ne pouvez pas créer datetime objet de chaque chaîne. La chaîne doit être dans un certain format.

Exemple 1 :chaîne vers objet datetime


from datetime import datetime

date_string = "21 June, 2018"

print("date_string =", date_string)
print("type of date_string =", type(date_string))

date_object = datetime.strptime(date_string, "%d %B, %Y")

print("date_object =", date_object)
print("type of date_object =", type(date_object))

Lorsque vous exécutez le programme, la sortie sera :


date_string = 21 June, 2018
type of date_string = <class 'str'>
date_object = 2018-06-21 00:00:00
type of date_object = <class 'datetime.datetime'>

Comment fonctionne strptime() ?

Le strptime() la méthode de classe prend deux arguments :

  • chaîne (qui sera convertie en date/heure)
  • code de format

En fonction de la chaîne et du code de format utilisés, la méthode renvoie son équivalent datetime objet.

Dans l'exemple ci-dessus :

Ici,

  • %d - Représente le jour du mois. Exemple : 01, 02, ..., 31
  • %B - Nom du mois au complet. Exemple : janvier, février etc.
  • %Y - Année à quatre chiffres. Exemple : 2018, 2019 etc.

Exemple 2 :chaîne vers objet datetime


from datetime import datetime

dt_string = "12/11/2018 09:15:32"

# Considering date is in dd/mm/yyyy format
dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S")
print("dt_object1 =", dt_object1)

# Considering date is in mm/dd/yyyy format
dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S")
print("dt_object2 =", dt_object2)

Lorsque vous exécutez le programme, la sortie sera :

dt_object1 = 2018-11-12 09:15:32
dt_object2 = 2018-12-11 09:15:32

Formater la liste des codes

Le tableau ci-dessous présente tous les codes de format que vous pouvez utiliser.

Directive Signification Exemple
%a Nom abrégé du jour de la semaine. dim, lun, ...
%A Nom complet du jour de la semaine. dimanche, lundi, ...
%w Jour de la semaine sous forme de nombre décimal. 0, 1, ..., 6
%d Jour du mois sous forme décimale complétée par des zéros. 01, 02, ..., 31
%-d Jour du mois sous forme de nombre décimal. 1, 2, ..., 30
%b Nom abrégé du mois. Jan, Fév, ..., Déc
%B Nom complet du mois. Janvier, Février, ...
%m Mois sous forme de nombre décimal complété par des zéros. 01, 02, ..., 12
%-m Mois sous forme de nombre décimal. 1, 2, ..., 12
%y Année sans siècle sous forme de nombre décimal complété par des zéros. 00, 01, ..., 99
%-y Année sans siècle sous forme de nombre décimal. 0, 1, ..., 99
%Y Année avec le siècle sous forme de nombre décimal. 2013, 2019 etc.
%H Heure (format 24 heures) sous forme de nombre décimal complété par des zéros. 00, 01, ..., 23
%-H Heure (format 24 heures) sous forme de nombre décimal. 0, 1, ..., 23
%I Heure (format 12 heures) sous forme de nombre décimal complété par des zéros. 01, 02, ..., 12
%-I Heure (format 12 heures) sous forme de nombre décimal. 1, 2, ... 12
%p AM ou PM de l'environnement local. AM, PM
%M Minute sous forme de nombre décimal complété par des zéros. 00, 01, ..., 59
%-M Minute sous forme de nombre décimal. 0, 1, ..., 59
%S La seconde sous la forme d'un nombre décimal complété par des zéros. 00, 01, ..., 59
%-S Seconde sous forme de nombre décimal. 0, 1, ..., 59
%f Microseconde sous forme de nombre décimal, complété par des zéros à gauche. 000000 - 999999
%z Décalage UTC sous la forme +HHMM ou -HHMM.  
%Z Nom du fuseau horaire.  
%j Jour de l'année sous forme de nombre décimal complété par des zéros. 001, 002, ..., 366
%-j Jour de l'année sous forme de nombre décimal. 1, 2, ..., 366
%U Numéro de semaine de l'année (dimanche comme premier jour de la semaine). 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 semaine de l'année (lundi comme premier jour de la semaine). 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 Représentation appropriée de la date et de l'heure des paramètres régionaux. Lun 30 septembre 07:06:05 2013
%x Représentation appropriée de la date des paramètres régionaux. 30/09/13
%X Représentation temporelle appropriée des paramètres régionaux. 07:06:05
%% Un caractère '%' littéral. %

Erreur de valeur dans strptime()

Si la chaîne (premier argument) et le code de format (deuxième argument) sont passés au strptime() ne correspond pas, vous obtiendrez ValueError . Par exemple :


from datetime import datetime

date_string = "12/11/2018"
date_object = datetime.strptime(date_string, "%d %m %Y")

print("date_object =", date_object)

Si vous exécutez ce programme, vous obtiendrez une erreur.

ValueError: time data '12/11/2018' does not match format '%d %m %Y'

Lectures recommandées : Python strftime()


Python

  1. Mots clés et identifiants Python
  2. Types de données Python
  3. Opérateurs Python
  4. Arguments de la fonction Python
  5. Dictionnaire Python
  6. Itérateurs Python
  7. Fermetures Python
  8. Python RegEx
  9. Date-heure Python