Blinking snake

The Julian Period

Constellation band

This page describes the Julian Period, as devised by Joseph Justus Scaliger in the 16th Century, along with methods to convert to and from the Gregorian and Julian Calendars.

Introduction

Joseph Justus Scaliger was born in France in 1540 and died in the Netherlands in 1609; he was converted to Protestantism, left France before Protestants were massacred there, and accepted a position at the University of Leiden where he remained. The founder of modern chronological studies, he proposed what is now known as the Julian Day System, or, more properly, the Julian Period. Most references stated that the Julian Period was named for his father, Julius Caesar Scaliger (see Burke, 1997), but a close reading of Opus de Emendatione Tempore indicates that he named it for the Julian Calendar that bears Caesar’s name: the introduction to Book V states, “Iulianum vocauimus: quia ad annum Iulianum dumtaxat accomodata est.” Loosely translated, this says, “We call this Julian merely because it is accomodated to the Julian year.”

Since the Gregorian Calendar did not come into use until 1582 and Scaliger was a Protestant, the Julian Calendar forms the basis of his dating system. Scaliger’s work, Opus de Emendatione Tempore (“Work on the Emendation of Time”), published in 1583, describes and compares calendars and computations of time throughout the ancient world, and offers the Julian Period as a means of correlating those calendars.

Scaliger set January 1, 4713 BCE (-4712), a Monday, as the starting day of the Julian Period. Since astronomers of the day began their days at noon, the Julian Period begins at noon. The reason for that day as a starting point was that Scaliger, in search of a time period long enough to encompass all of recorded history and some time into the future, calculated the earliest date when three important calendrical cycles coincided. These cycles were:

Because 19 * 28 * 15 = 7980, the Julian Period is 7,980 years long, or 2914695.00 days. The Julian Period Year is rarely used (except in the Old Farmer’s Almanac), but the strict count of days is widely used among astronomers, calendar freaks and Mayanists (not that that really encompasses that wide a constituency, by most definitions).

Scaliger was looking for a time period long enough to cover all of recorded history, and therefore didn’t bother to address the question of dates outside of the 7980 year period. At least two differing methods may be used. The simplest, of course, is to forget the year entirely and continue the count indefinitely. In this system, the day after 2914695.00 is 2914696.00, and the day before 0.00 is -1.00. This has the advantage of mathematical convenience.

A second system treats the entire period as a modular number and assigns numbers to the distinct periods. In this system, the day after 2914695.00 is 1.0.00, and the day before 0.00 is -1.2914695.00; day 0.00, then, would better be described as 0.00.00. Members of the Calendar Mailing List have also suggested that if this method is used, then it would be better to begin numbering the periods with 1, using -1 for the previous period and 2 for the next, since Scaliger, if he had thought about it, would have modeled the hypothetical numbering system on the Julian Calendar, which contains no Year 0. My feeling is that as Scaliger began the Julian Period on Day 0 (1 January 4713 BCE), he would have also set the period number to 0. As my mother-in-law says, “Everybody to their own oar.” This second system also has a mathematical advantage in that the entire period may be treated as a computational entity in which virtually every detail of the Julian Calendar repeats exactly, including the Paschal, or Easter, Cycle (Julian Easter repeats every 532 years).

Computation

The language I use is Python, which is compact and convenient, and seems relatively easy to use for those of you not accustomed to programming.

Gregorian to Julian Period Date

The following two routines are adapted from Numerical Recipes in C (Press, 1992). Mm, the input month, must be in the range 0-11, and the year is taken to be exactly what it says—i.e., 98 means the year 98CE, not 1998CE.

#!/usr/bin/env python
import os
import sys
import math

def julday(mm,id,iyyy,tm=0.0):
    mm=mm+1
    if mm>2:
	jy=iyyy
	jm=mm+1
    else:
	jy=iyyy-1
	jm=mm+13

    jul=int(math.floor(365.25*jy)+
    	math.floor(30.6001*jm)+(id+1720995.0+tm))
    ja=int(0.01*jy)
    jul=int(jul+(2-ja+(int(0.25*ja))))
    tww=(jul)%7
    return (jul,tww)

if __name__=="__main__":
    if len(sys.argv)<4:
        print "Usage:",sys.argv[0],"month day year"
        sys.exit(0)
    dw=["Sun","Mon","Tue","Wed","Thu","Fri","Sat",]
    wd,jd=julday(int(sys.argv[1]),int(sys.argv[2]),int(sys.argv[3]))
    print dw[wd],jd

Julian Period to Gregorian Date

def calday(jday): # Julian period day.
    """Arguments:  jday is a float as returned from julday()
    Return value:  month, day, year and day of week as integers, in the Gregorian
    proleptic calendar only."""
    jn=jday

    jalpha=int(((jn-1867216)-0.25)/36524.25)
    ja=int(jn+1+jalpha-(int((0.25*jalpha))))
    jb=int(ja+1524)
    jc=int(6680.0+((jb-2439870.0)-122.1)/365.25)
    jd=int(365.0*jc+(0.25*jc))
    je=int((jb-jd)/30.6001)

    mymday=(jb-jd-(int(30.6001*je)))
    while mymday<0:
        mymday=mymday+7
    mymon=je-1
    if(mymon>12):
        mymon=mymon-12
    while mymon<0:
        mymon=mymon+12
    myyear=jc-4715
    if(mymon>2):
        myyear=myyear-1
    mywday=(jn)%7
    mymon=mymon-1
    return mymon,mymday,myyear,mywday

if __name__=="__main__":
    if len(sys.argv)<2:
        print "Usage:",sys.argv[0],"jpday"
        sys.exit(0)
    dw=["Sun","Mon","Tue","Wed","Thu","Fri","Sat",]
    m,d,y,w=calday(float(sys.argv[1]))
    print dw[w],m+"/"+d+"/"+y

References

  1. Asimov, Isaac, Asimov’s Biographical Encyclopedia of Science & Technology, Doubleday, New York, 1964.
  2. Burke, James, “Connections: Waving the Flag”, Scientific American, February 1997.
  3. The New Encyclopaedia Britannica, 15th Edition, Wm. Benton, Chicago, 1980.
  4. Philip, Alexander J., The Calendar: Its History, Structure and Improvement, Cambridge University Press, Cambridge, 1921.
  5. Press, William H., Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery, Numerical Recipes in C: The Art of Scientific Computing, Second Edition, Cambridge University Press, Cambridge, 1992 (First Edition published 1988).

Acknowledgments

I wish to thank Lance Latham and Rodolphe Audette on the CALNDR-L: Calendar Mailing List for the translation of the relevant passage of Scaliger. As I don’t have access to the work itself, it helps when those who do are willing to share their knowledge.

Previous Page
Table of Contents
Next Page

Main web site:  http://www.pauahtun.org

Valid HTML 4.01 Transitional