I have fixed the calculation of Julian Day in Frink for dates B.C.,
including dates in the very distant past. Because Frink internally uses
Julian Day to represent dates and perform date/time math, this vastly
improves the handling of dates in the distant past. (Note: A Julian
day is a single number, counting the number of days elapsed since
January 1, 4713 BC at 12:00 (noon) UTC.)
In addition, the handling of the switch from the Julian calendar
(which is something very different from the Julian day) to the Gregorian
calendar was made more uniform and consistent. By default, this switch
happens between October 4, 1582 (Julian) which was followed immediately
by October 15, 1582 (Gregorian). Frink's algorithms use a Julian
Calendar date before this date and a Gregorian Calendar date after this
date. Frink also displays dates in the Julian calendar before this
date. Thus, the time #1582-10-04 23:59:59 UTC# (Julian) is followed
immediately by #1582-10-15 00:00:00 UTC# (Gregorian) Note that if a
date is specified between these dates, behavior will be undefined.
Note that these rules for switching between calendars, parsing, and
representing dates reflects what most/all Java Virtual Machines do by
default, so passing dates between Java programs and Frink does not
involve a change of representation.
There are more notes about the details here:
http://futureboy.us/frinkdocs/index.html#NotesOnDates
If you're doing calculations with dates before 1583 AD, it is very
highly recommended that you update!
As always, more details about the latest developments in Frink are
noted here:
http://futureboy.us/frinkdocs/whatsnew.html
--
Alan Eliasen | "Furious activity is no substitute
eliasen@... | for understanding."
http://futureboy.us/ | --H.H. Williams