Python strftime()
Python strftime()
Dans cet article, vous apprendrez à convertir des objets date, heure et datetime en sa chaîne équivalente (à l'aide d'exemples)
Vidéo :Dates et heures en Python
Le strftime()
La méthode renvoie une chaîne représentant la date et l'heure à l'aide de l'objet date, heure ou datetime.
Exemple 1 :datetime en chaîne en utilisant strftime()
Le programme ci-dessous convertit un datetime
objet contenant la date et l'heure actuelles dans différents formats de chaîne.
from datetime import datetime
now = datetime.now() # current date and time
year = now.strftime("%Y")
print("year:", year)
month = now.strftime("%m")
print("month:", month)
day = now.strftime("%d")
print("day:", day)
time = now.strftime("%H:%M:%S")
print("time:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)
Lorsque vous exécutez le programme, la sortie sera quelque chose comme :
year: 2018 month: 12 day: 24 time: 04:59:31 date and time: 12/24/2018, 04:59:31
Ici, année , jour , heure et date_heure sont des chaînes, alors que maintenant est un datetime
objet.
Comment fonctionne strftime() ?
Dans le programme ci-dessus, %Y
, %m
, %d
etc. sont des codes de format. Le strftime()
prend un ou plusieurs codes de format comme argument et renvoie une chaîne formatée basée sur celui-ci.
- Nous avons importé
datetime
classe dudatetime
module. C'est parce que l'objet dedatetime
la classe peut accéder àstrftime()
méthode.
- Le
datetime
l'objet contenant la date et l'heure actuelles est stocké dans maintenant variable.
- Le
strftime()
La méthode peut être utilisée pour créer des chaînes formatées.
- La chaîne que vous transmettez au
strftime()
méthode peut contenir plus d'un code de format.
Exemple 2 :Création d'une chaîne à partir d'un horodatage
from datetime import datetime
timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
print("Date time object:", date_time)
d = date_time.strftime("%m/%d/%Y, %H:%M:%S")
print("Output 2:", d)
d = date_time.strftime("%d %b, %Y")
print("Output 3:", d)
d = date_time.strftime("%d %B, %Y")
print("Output 4:", d)
d = date_time.strftime("%I%p")
print("Output 5:", d)
Lorsque vous exécutez le programme, la sortie sera :
Date time object: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 5: 09AM
Formater la liste des codes
Le tableau ci-dessous montre tous les codes que vous pouvez passer au strftime()
méthode.
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. | % |
Exemple 3 :Date et heure appropriées pour les paramètres régionaux
from datetime import datetime
timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)
d = date_time.strftime("%c")
print("Output 1:", d)
d = date_time.strftime("%x")
print("Output 2:", d)
d = date_time.strftime("%X")
print("Output 3:", d)
Lorsque vous exécutez le programme, la sortie sera :
Output 1: Tue Jun 12 09:55:22 2018 Output 2: 06/12/18 Output 3: 09:55:22
Formater les codes %c
, %x
et %X
sont utilisés pour la représentation appropriée de la date et de l'heure des paramètres régionaux.
Nous vous recommandons également de vérifier Python strptime(). Le strptime()
la méthode crée un datetime
objet à partir d'une chaîne.
Python