Astronomical year numbering is based on AD/CE year numbering, but follows normal decimal integer numbering more strictly. Thus, it has a year 0, the years before that are designated with negative numbers and the years after that are designated with positive numbers. Astronomers use the Julian calendar for years before 1582, including this year 0, and the Gregorian calendar for years after 1582 as exemplified by Jacques Cassini (1740), Simon Newcomb (1898) and Fred Espenak (2007).
The prefix AD and the suffixes CE, BC or BCE (Common Era, Before Christ or Before Common Era) are dropped. The year 1 BC/BCE is numbered 0, the year 2 BC is numbered −1, and in general the year n BC/BCE is numbered "−(n − 1)" (a negative number equal to 1 − n). The numbers of AD/CE years are not changed and are written with either no sign or a positive sign; thus in general n AD/CE is simply n or +n. For normal calculation a number zero is often needed, here most notably when calculating the number of years in a period that spans the epoch; the end years need only be subtracted from each other.
The system is so named due to its use in astronomy. Few other disciplines outside history deal with the time before year 1, exceptions being dendrochronology, archaeology and geology, the latter two of which use 'years before the present'. Although the absolute numerical values of astronomical and historical years only differ by one before year 1, this difference is critical when calculating astronomical events like eclipses or planetary conjunctions to determine when historical events which mention them occurred.
In his Rudolphine Tables (1627), Johannes Kepler used a prototype of year zero which he labeled Christi (Christ) between years labeled Ante Christum (Before Christ) and Post Christum (After Christ) on the mean motion tables for the Sun, Moon, Saturn, Jupiter, Mars, Venus and Mercury. Then in 1702 the French astronomer Philippe de la Hire used a year he labeled Christum 0 at the end of years labeled ante Christum (BC), and immediately before years labeled post Christum (AD) on the mean motion pages in his Tabulæ Astronomicæ, thus adding the designation 0 to Kepler's Christi. Finally, in 1740 the French astronomer Jacques Cassini (Cassini II), who is traditionally credited with the invention of year zero, completed the transition in his Tables astronomiques, simply labeling this year 0, which he placed at the end of Julian years labeled avant Jesus-Christ (before Jesus Christ or BC), and immediately before Julian years labeled après Jesus-Christ (after Jesus Christ or AD).
Cassini gave the following reasons for using a year 0:
The year 0 is that in which one supposes that Jesus Christ was born, which several chronologists mark 1 before the birth of Jesus Christ and which we marked 0, so that the sum of the years before and after Jesus Christ gives the interval which is between these years, and where numbers divisible by 4 mark the leap years as so many before or after Jesus Christ.—Jacques Cassini
There is a disagreement between astronomers and historians about how to count the years preceding year 1. In [Astronomical Algorithms], the 'B.C.' years are counted astronomically. Thus, the year before the year +1 is the year zero, and the year preceding the latter is the year −1. The year which historians call 585 B.C. is actually the year −584.
The astronomical counting of the negative years is the only one suitable for arithmetical purpose. For example, in the historical practice of counting, the rule of divisibility by 4 revealing Julian leap-years no longer exists; these years are, indeed, 1, 5, 9, 13, ... B.C. In the astronomical sequence, however, these leap-years are called 0, −4, −8, −12, ..., and the rule of divisibility by 4 subsists.—Jean Meeus
Although he used the usual French terms "avant J.-C." (before Jesus Christ) and "après J.-C." (after Jesus Christ) to label years elsewhere in his book, the Byzantine historian Venance Grumel used negative years (identified by a minus sign, −) to label BC years and unsigned positive years to label AD years in a table, possibly to save space, without a year 0 between them.
The XML Schema language, sometimes used in connection with representing data for storage in computers, contains built-in primitive datatypes, date and dateTime, which do not allow a year zero, and designate years BC as negative numbers. Years contain at least four digits. Thus -0001 in that language is equivalent to 1 BC. However, the defining recommendation indicates a change to a system similar to ISO 8601 and astronomical year numbering is likely in the future.