# 2.15.1. Is there a formula for calculating the Julian day number?

## Description

This article is from the Calendars FAQ, by Claus Tondering claus@tondering.dk with numerous contributions by
others.

# 2.15.1. Is there a formula for calculating the Julian day number?

Try this one (the divisions are integer divisions, in which remainders

are discarded):

a = (14-month)/12

y = year+4800-a

m = month + 12*a - 3

For a date in the Gregorian calendar:

JD = day + (153*m+2)/5 + y*365 + y/4 - y/100 + y/400 - 32045

For a date in the Julian calendar:

JD = day + (153*m+2)/5 + y*365 + y/4 - 32083

JD is the Julian day number that starts at noon UTC on the specified

date.

The algorithm works fine for AD dates. If you want to use it for BC

dates, you must first convert the BC year to a negative year (e.g.,

10 BC = -9). The algorithm works correctly for all dates after 4800 BC,

i.e. at least for all positive Julian day numbers.

To convert the other way (i.e., to convert a Julian day number, JD,

to a day, month, and year) these formulas can be used (again, the

divisions are integer divisions):

For the Gregorian calendar:
a = JD + 32044
b = (4*a+3)/146097
c = a - (b*146097)/4
For the Julian calendar:
b = 0
c = JD + 32082
Then, for both calendars:
d = (4*c+3)/1461
e = c - (1461*d)/4
m = (5*e+2)/153
day = e - (153*m+2)/5 + 1
month = m + 3 - 12*(m/10)
year = b*100 + d - 4800 + m/10

Continue to: