The computation of local time varies by locale. The standard
C library function localtime() is used to assist
in the calculation of local time. Also, the localtime() C
function normally only works for years between 1970 and 2037.
For
dates outside this range, we attempt to map the year into an equivalent
year within this range, do the calculation, then map the year back.
Date computations do not give correct results for
dates before Julian day number 0 (-4713-11-24 12:00:00).
All internal computations assume the Gregorian
calendar system.