Python datetime : comment manipuler la date et l’heure en Python

Le module Python datetime facilite l’utilisation des dates et des heures. Cela vous permet d’afficher des données dans différents formats et de créer des objets de date en seulement quelques lignes de code.

Présentation du module datetime

Python datetime est un module Python qu’il vous faut absolument connaitre, que vous venez de terminer votre premier tutoriel Python ou que vous travaillez depuis longtemps avec ce langage de programmation Internet. Les modules sont le pendant des bibliothèques de code dans d’autres langages de programmation. En important le module datetime, vous ajoutez des fonctions de traitement de la date et de l’heure à Python. Des objets de date spécifiques dans le module sont utilisés à cette fin, que vous pouvez facilement créer dans votre code.

Conseil

Vous utilisez Python dans le cadre de votre projet Web ? Avec Deploy Now de IONOS, vous pouvez facilement déployer des modifications apportées au code à tout moment via GitHub et suivre l’état actuel de votre projet en direct.

Python datetime : date et heure

Par exemple, vous pouvez utiliser Python datetime pour stocker une date et une heure dans un objet distinct. Pour ce faire, vous avez besoin du constructeur Python datetime, dont la syntaxe ressemble à ceci :

import datetime as dt
dt.datetime(année, mois, jour, heure, minute, seconde, microseconde, fuseau horaire)
python

Les paramètres acceptés par la fonction représentent la date et l’heure actuelles. Les paramètres permettant de spécifier l’heure sont facultatifs ; la valeur par défaut est toujours 0. Il en va de même pour le paramètre qui spécifie le fuseau horaire et qui est défini par défaut par NUL. La fonction datetime vous renvoie un objet Python datetime.

Python date : date

Comme le constructeur datetime, le constructeur Python date peut également être utilisé pour créer un objet de date. L’heure actuelle n’a ici aucune importance. Sur le plan syntaxique, le constructeur de date est similaire à son homologue datetime :

import datetime as dt
dt.date(année, mois, jour)
python

Les paramètres de transfert que prend le constructeur Python date sont l’année, le mois et le jour souhaités. Le résultat de l’appel de fonction est un objet de date.

Invoquer la date actuelle : la marche à suivre

Si vous ne souhaitez pas enregistrer de données spécifiques, mais la date et l’heure actuelles, des fonctions prédéfinies sont disponibles. Selon que vous êtes intéressé par la date actuelle uniquement ou par la date et l’heure, vous devrez recourir à une autre fonction.

Procédure pour la date actuelle

Si seule la date, qui se compose de l’année, du mois et du jour, vous intéresse, vous pouvez utiliser une fonction de la classe Python date appelée « today ». L’appel de fonction est extrêmement simple :

import datetime as dt
current_date = dt.date.today()
python

Pour appeler today, vous devez d’abord spécifier le module datetime, qui est notifié par l’alias dt dans l’exemple ci-dessus. Utilisez ensuite la notation par points pour invoquer la classe de date, dans laquelle la fonction today est à son tour spécifiée. Une fois le code ci-dessus exécuté, la variable current_date contient un objet Python date avec la date courante.

Procédure pour la date et l’heure actuelles

Si vous avez également besoin de l’heure actuelle, une fonction de la classe datetime vous sera utile : la fonction now. Lors d’un appel de now, vous obtenez un objet Python datetime qui contient la date et l’heure actuelles – et qui est précis à la milliseconde.

import datetime as dt
current_date_and_time = dt.datetime.now()
python

L’appel est effectué de manière analogue à l’appel de la fonction today, mais dans la classe datetime. Un objet datetime contenant la date et l’heure actuelles est stocké dans la variable « current_date_and_time » après l’appel de la fonction.

Conseil

Si seules les valeurs individuelles d’un objet vous intéressent, telles que le jour, vous pouvez utiliser la notation par points pour invoquer exactement cette valeur. « current_date.day » vous permet ainsi d’invoquer le jour actuel par exemple.

Formater les données en Python

En particulier pour les applications où vous souhaitez sortir la date, vous devez disposer d’un moyen de mettre les objets datetime ou date au format approprié pour votre application. Le module Python datetime propose également une fonction appelée strftime à cet effet.

La syntaxe de la fonction s’apparente à ceci :

import datetime as dt
current_date = dt.date.today()
current_date.strftime(format)
python

La fonction est appelée directement sur un objet date ou datetime et accepte un format spécifique en paramètre de transfert. Vous devez spécifier ce format comme string Python, donc entre guillemets. Python prend en charge un certain nombre de formats différents, dont les abréviations sont présentées dans le tableau suivant :

Abréviation Description Exemple
%a Jour de la semaine, notation abrégée Sat
%A Jour de la semaine, entièrement écrit Saturday
%w Jour de la semaine en tant que nombre 6
%u Jour de la semaine au format ISO 8601 6
%j Numéro du jour en cours (par rapport à l’année entière) 365
%b Nom du mois, notation abrégée Dec
%B Nom du mois, entièrement écrit December
%m Mois en tant que numéro 12
%U Numéro de la semaine, commençant le dimanche comme premier jour de la semaine 50
%W Numéro de la semaine, commençant le lundi comme premier jour de la semaine 50
%y Année, notation abrégée 22
%Y Année, entièrement écrite 2022
%H Heure (0-23) 22
%I Heure (0-12) 11
%p AM ou PM AM
%M Minute 59
%S Seconde 37
%f Microseconde 567213
%z Décalage par rapport au temps universel coordonné +0100
%Z Fuseau horaire CST