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] |