HOWTO · Python

Obtenez l'année en cours en Python

Apprenez à obtenir l'année en cours de plusieurs manières simples en Python

Sur cette page

Utilisez le module datetime de la bibliothèque standard de Python pour obtenir l’année en cours. Appelez datetime.datetime.now() et formatez sa date avec strftime("%Y") si vous avez besoin d’une année sous forme de chaîne, ou appelez datetime.date.today() et lisez son attribut year si vous avez besoin d’un entier. Les deux méthodes utilisent la date disponible sur la machine qui exécute le programme ; l’année renvoyée change donc lorsque la date de cette machine passe à la nouvelle année.

Obtenir l’année en cours avec strftime()

La méthode strftime() formate une date ou une heure sous forme de chaîne. La directive %Y représente l’année par une chaîne de quatre chiffres, pratique pour l’affichage ou pour la combiner avec d’autres éléments de date formatés. L’exemple suivant récupère la date actuelle et affiche son année :

Exécutez cet exemple :

Le code et la sortie affichent le libellé « Current year: » en anglais ; celui-ci reste inchangé dans l’exemple.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

import datetime

current_date = datetime.datetime.now().date()
current_year = current_date.strftime("%Y")
print(f"Current year: {current_year}")
Current year: 2026

Ici, datetime.datetime.now() fournit la date et l’heure locales actuelles, et .date() conserve uniquement la partie date. Appelée sur cette date, strftime("%Y") renvoie une chaîne, et non un nombre. Par exemple, si l’année en cours selon l’environnement d’exécution est 2026, current_year est la chaîne "2026". L’année affichée dépend de l’horloge de l’environnement d’exécution ; ne considérez pas la valeur de l’exemple comme une valeur qui restera actuelle les années suivantes.

Vous pouvez utiliser d’autres directives de format pour inclure des détails supplémentaires sur la date. Par exemple, %A %Y formate le nom du jour de la semaine suivi de l’année. Le jour exact dépend de la date formatée. Consultez la documentation Python sur les codes de format strftime() et strptime() pour connaître la liste complète des directives et leurs remarques propres aux plateformes.

Obtenir l’année en cours avec l’attribut year

Lorsqu’une année numérique est plus pratique, récupérez un objet datetime.date et lisez son attribut year. datetime.date.today() renvoie directement la date du jour ; cette méthode évite donc de créer une valeur datetime.datetime, puis de la convertir en date.

Exécutez cet exemple :

Le code et la sortie affichent le libellé « Current year: » en anglais ; celui-ci reste inchangé dans l’exemple.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

import datetime

current_date = datetime.date.today()
current_year = current_date.year
print(f"Current year: {current_year}")
Current year: 2026

La valeur de current_year est ici un entier, contrairement à la chaîne renvoyée par strftime("%Y"). Utilisez cet entier pour effectuer des calculs ou des comparaisons, et convertissez-le en texte pour l’afficher ou le combiner avec d’autres chaînes. datetime.datetime.now().date() et datetime.date.today() produisent tous deux des objets date dont l’attribut year peut être lu comme date.year ; choisissez l’expression qui convient le mieux à la date dont vous disposez déjà. Par exemple, si votre code contient déjà une date, lisez l’attribut de cet objet au lieu de récupérer à nouveau la date du jour. L’attribut indique l’année de la date représentée par l’objet, qui peut différer de l’année en cours si cet objet correspond à une date passée ou future.

Ces exemples utilisent la date locale de la machine. Si votre application a besoin de l’année dans un fuseau horaire particulier, partez d’un objet datetime avec fuseau horaire, convertissez-le dans ce fuseau avec astimezone(), puis lisez ou formatez l’année de l’objet datetime converti. Cette conversion compte à l’approche du Nouvel An : un même instant peut correspondre à des dates calendaires différentes, et donc à des années différentes, selon le fuseau horaire. Un objet date simple ne contient aucune information de fuseau horaire ; choisissez donc le fuseau avant de déduire la date à partir d’un instant.