Dates et heures

Dates avec Python

Une date en Python n'est pas un type de données par défaut, mais il existe un module nommé datetime pour travailler avec ce type.

Importez le module datetime et affichez la date actuelle :

import datetime

x = datetime.datetime.now()
print(x)

 

Quand nous exécutons le code de l'exemple ci-dessus, le résultat est :

2019-04-01 11:15:15.068664


La date contient l'année, le mois, le jour, l'heure, la minute, la seconde et la microseconde.

Le module datetime dispose de nombreuses méthodes pour renvoyer des informations sur l'objet date. Voici quelques exemples.

Retourne l'année et le nom du jour de la semaine :

import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%A"))

 

Création d'objets Date

Pour créer une date, on peut utiliser la classe datetime() (constructeur) du module datetime.

La classe datetime() nécessite trois paramètres : année, mois, jour.

import datetime

x = datetime.datetime(2025, 2, 14)

print(x)

 

La classe python datetime() prend également des paramètres pour l'heure et le fuseau horaire (heure, minute, seconde, microseconde, tzone), mais ils sont optionnels, et ont une valeur par défaut de 0. (Aucun pour le fuseau horaire).

La méthode Python strftime()

L'objet datetime a une méthode pour formater les objets date en chaînes lisibles.

La méthode s'appelle strftime(), et prend un paramètre, format, pour spécifier le format de la chaîne retournée.

import datetime

x = datetime.datetime(2018, 6, 1)

print(x.strftime("%B"))

 

Voici un récapitulatif de tous les formats supportés :

Instruction Description Exemple
%a Jour de semaine, version courte Mer
%A Jour de semaine, nom complet Mercredi
%w Le jour de la semaine numéroté de 0 à 6, 0 est le dimanche. 3
%d Jour du mois 01-31 31
%b Nom du mois, version courte Dec
%B Nom du mois, nom complet Décembre
%m Mois numéroté de 0 à 12 12
%y Année, version courte, sans siècle 18
%Y Année complète 2018
%H Heure 24h 17
%I Heure 12h 05
%p AM/PM PM
%M Minute 00-59 41
%S Secondes 00-59 08
%f Microsecondes 000000-999999 548513
%z Décalage UTC +0100
%Z Fuseau horaire CST
%j Jour numéro de l'année de 001-366 365
%U Numéro de la semaine dans l'année, le dimanche comme premier jour de la semaine, 00-53 52
%W Numéro de la semaine dans l'année, lundi comme premier jour de la semaine, 00-53 52
%c Version locale de la date et de l'heure Mer Dec 31 17:41:00 2018
%x Version locale de la date 12/31/18
%X Version locale de l'heure 17:41:00
Article précédent
Utiliser JSON en Python
Article suivant
Fonctions en Python
 

A propos de l'auteur

Guillaume Cochet

Guillaume Cochet est consultant SEO à l'agence de Référencement Aseox à Lille.