Comment convertir une date spécifiée par année, mois et jour en un nombre de jours avec Python ?

Introduction

Dans de nombreuses applications scientifiques, d’ingénierie ou de science des données, il est souvent utile de convertir une date calendaire — typiquement spécifiée par une année, un mois et un jour — en un nombre de jours. Cette représentation continue est précieuse pour l’analyse de séries temporelles, la modélisation, ou l’interfaçage avec des systèmes utilisant des offsets temporels (par exemple, nombre de jours depuis une date de référence).

Dans cet article, nous allons montrer comment effectuer cette conversion en Python, avec des exemples concrets et des références utiles.

Outils Python pour manipuler les dates

Le module intégré datetime de Python offre des outils puissants pour gérer les dates. D’autres bibliothèques comme numpy et pandas complètent ces fonctionnalités.

Pour la plupart des besoins, la classe datetime.date est un choix pratique et efficace.

Conversion de base : Nombre de jours depuis une date de référence

Pour convertir une date en nombre de jours, on peut calculer la différence entre la date cible et une date de référence (souvent appelée "epoch").

Example: Nombre de jours depuis l’époque UNIX (1er janvier 1970)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from datetime import date

# Votre date
année = 2025
mois = 6
jour = 9

# Conversion en objet date
date_donnée = date(année, mois, jour)

# Date de référence (epoch)
epoch = date(1970, 1, 1)

# Calcul de la différence en jours
jours_depuis_epoch = (date_donnée - epoch).days

print(f"Nombre de jours depuis le 1er janvier 1970 : {jours_depuis_epoch}")

Résultat :

1
Nombre de jours depuis le 1er janvier 1970 : 20279

Utiliser une date de référence personnalisée

Vous pouvez aussi utiliser une date de référence différente, par exemple le 1er janvier 2000 :

1
2
3
référence = date(2000, 1, 1)
jours_depuis_référence = (date_donnée - référence).days
print(f"Nombre de jours depuis le 1er janvier 2000 : {jours_depuis_référence}")

Obtenir le jour de l’année (jour julien)

Si vous souhaitez connaître uniquement le numéro du jour dans l’année (de 1 à 365 ou 366), utilisez :

1
2
jour_de_l_année = date_donnée.timetuple().tm_yday
print(f"Jour de l’année : {jour_de_l_année}")

Convertir plusieurs dates (avec pandas)

Si vous travaillez avec des tableaux de dates, pandas permet des opérations vectorisées très pratiques :

import pandas as pd

1
2
3
4
5
dates = pd.to_datetime(['2025-06-09', '2024-12-31'])
epoch = pd.Timestamp('1970-01-01')

jours_depuis_epoch = (dates - epoch).days
print(jours_depuis_epoch)

Références

Titre Lien
Python datetime module https://docs.python.org/3/library/datetime.html
pandas datetime handling https://pandas.pydata.org/docs/user_guide/timeseries.html
Julian day and calendar calculations https://en.wikipedia.org/wiki/Julian_day

Résumé

Tâche Outil Python Résultat exemple
Jours depuis le 1er janv. 1970 datetime.date 20279
Jours depuis une date personnalisée datetime.date ex. 9324 depuis le 01/01/2000
Jour de l’année .timetuple().tm_yday 160
Calcul vectorisé pandas.to_datetime [20279, 20089]