Julian Date Converter
Convertir entre les dates du calendrier grégorien et les numéros de jour julien.
À propos du Numéro du Jour Julien
Le Numéro du Jour Julien (JDN) est un décompte continu des jours depuis le 1er janvier 4713 av. J.-C. Il élimine la confusion des différents systèmes de calendrier et est largement utilisé en astronomie pour les calculs précis de date et d'heure.
À propos de cet outil
Le numéro de jour julien (JDN) est un décompte continu de jours depuis le 1ᵉʳ janvier 4713 av. J.-C., largement utilisé en astronomie, calculs de satellites et datation historique. Contrairement au calendrier grégorien familier, qui se répète sur les mois et les années, le JDN fournit un numéro unique et sans équivoque pour n'importe quelle date donnée—ce qui le rend inestimable pour les observations astronomiques précises et les calculs couvrant des siècles sans confusion due aux réformes calendériques ou aux conventions de dates régionales.
Pour utiliser ce convertisseur, il suffit d'entrer une date grégorienne (mois, jour et année) pour obtenir le numéro de jour julien correspondant, ou d'entrer un JDN pour le reconvertir en une date de calendrier standard. L'outil calcule instantanément la conversion à l'aide de la formule astronomique bien établie, utile pour quiconque travaille avec des archives historiques, des données astronomiques ou des logiciels nécessitant un système de référence de dates universel.
Questions Fréquentes
Implémentation du Code
def gregorian_to_jdn(year: int, month: int, day: int) -> float:
"""Convert Gregorian date to Julian Day Number (Meeus algorithm)."""
if month <= 2:
year -= 1
month += 12
A = year // 100
B = 2 - A + A // 4
return int(365.25 * (year + 4716)) + int(30.6001 * (month + 1)) + day + B - 1524.5
def jdn_to_gregorian(jdn: float) -> tuple[int, int, int]:
"""Convert Julian Day Number to Gregorian date (Meeus algorithm)."""
jdn = jdn + 0.5
Z = int(jdn)
if Z < 2299161:
A = Z
else:
alpha = int((Z - 1867216.25) / 36524.25)
A = Z + 1 + alpha - alpha // 4
B = A + 1524
C = int((B - 122.1) / 365.25)
D = int(365.25 * C)
E = int((B - D) / 30.6001)
day = B - D - int(30.6001 * E)
month = E - 1 if E < 14 else E - 13
year = C - 4716 if month > 2 else C - 4715
return year, month, day
jdn = gregorian_to_jdn(2024, 3, 15)
print(f"2024-03-15 → JDN: {jdn}")
y, m, d = jdn_to_gregorian(jdn)
print(f"JDN {jdn} → {y}-{m:02d}-{d:02d}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.