Re: A long time ago, in a century far away...



An official Royal Greenwich Observatory edict (I knew if I kept this long enough, it would come in handy !)
This was also used as my "official" Leap Year definition, when producing the necessary Y2K corrections during 1998 & 1999 to all the GA products.
Have fun with the light reading ~

Particle Physics and Astronomy Research Council

Royal Greenwich Observatory

Information Leaflet No. 48: `Leap Years'

LEAP YEARS

The year is defined as being the interval between two successive passages
of the Sun through the vernal equinox. Of course, what is really occurring
is that the Earth is going around the Sun but it is easier to understand
what is happening by considering the apparent motion of the Sun in the sky.

The vernal equinox is the instant when the Sun is above the Earth's equator
while going from the south to the north. It is the time which astronomers
take as the definition of the beginning of Spring. The year as defined
above is called the tropical year and it is the year length that defines
the repetition of the seasons. The length of the tropical year is 365.24219
days.

In 46 BC Julius Caesar established the Julian calendar which was used in
the west until 1582. In the Julian calendar each year contained 12 months
and there were an average of 365.25 days in a year. This was achieved by
having three years containing 365 days and one year containing 366 days.
(In fact the leap years were not correctly inserted until 8 AD).

The discrepancy between the actual length of the year, 365.24219 days, and
the adopted length, 365.25 days, may not seem important but over hundreds
of years the difference becomes obvious. The reason for this is that the
seasons, which depend on the date in the tropical year, were getting
progressively out of kilter with the calendar date. Pope Gregory XIII, in
1582, instituted the Gregorian calendar, which has been used since then.

The change from the Julian calendar to the Gregorian involved the change of
the simple rule for leap-years to the more complex one in which century
years should only be leap-years if they were divisible by 400. For example,
1700, 1800 and 1900 are not leap-years whereas 2000 will be.

The nett effect is to make the adopted average length of the year 365.2425
days. The difference between this and the true length will not have a
serious effect for many thousands of years. (The error amounts to about 3
days in 10,000 years.)

The adoption of the Gregorian calendar was made in Catholic countries in
1582 with the elimination of 10 days, October the 4th being followed by
October 15th. The Gregorian calendar also stipulated that the year should
start on January 1. In non-Catholic countries the change was made later;
Britain and her colonies made the change in 1752 when September 2nd was
followed by September 14 and New Year's Day was changed from March 25 to
January 1.

Produced by the Information Services Department of the Royal Greenwich
Observatory.

PJA Wed Apr 17 13:18:08 GMT 1996

Bill H wrote:
The actual definition is:
1.. Every year divisible by 4 is a leap year.
2.. But every year divisible by 100 is NOT a leap year
3.. Unless the year is also divisible by 400, then it is still a leap year.
So, 100, 200, 300, 500, 600, 700, 900,1000, etc are not leap years, but 400 & 800 are because they are divisible by 400.


Even I understand this, but will probably forget it next week.  :-)

Bill

"Mark Brown" <mbrown@xxxxxxxxxxxxx> wrote in message news:X5I1f.323$6O6.225@xxxxxxxxxxxxxxxxxxxxxxx

D3 works like:

leapyear = (int(year/400) = year/400) or ((int(year/100) # year/100) and (int(year/4) = year/4))

because there's 365.24 days in a year, you add 1 every 4 years, adjust back once every 100 and ajust once again every 400.

400 and 800 should be leap years, and 200 and 600 should not be.  IMO

Mark


"frosty" <frostyj@xxxxxxxxx> wrote in message news:5-ydnaexm8W3ktreRVn-uw@xxxxxxxxxxxxxxx


Mark Brown wrote:

Mark... do you have something to add?  =`:^>

I'm hoping you agree with me on this; seems nobody else does.

--
frosty


<godric@xxxxxxxxxxxxxxxxxxx> wrote in message
news:1128678267.914647.31120@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

frosty wrote:

I wonder if the Pick (or at least UniData) ICONV function correctly
calculates leap years in antiquity.  Running the following program
on UniData 6.0 gives an interesting result.

FOR Y = 1 TO 12000
 LY1 = (ICONV('3-1-':Y,'D') - ICONV('2-28-':Y,'D')) - 1
 LY2 = (REM(Y,4)=0) AND ((REM(Y,100)#0) OR (REM(Y,400)=0))
 IF LY1 # LY2 THEN CRT Y:' ':LY1:' ':LY2
NEXT Y

The result is interesting in that it is not null; it indicates that
UniData
thinks the years 200 and 600 are leap years, but thinks that neither
400 nor 800 are leap years.

200 1 0
400 0 1
600 1 0
800 0 1

Comments?

--
frosty

The rules for determining leap years are actually -

Once every 4 years
Except every 100 years
Except every 400 years

So UNIDATA have it right..

We used to use it as a 'how many lines of code do you need to
determine a leap year' in Databasic ( 1 as it happens )

Regards

Godric





.



Relevant Pages