Re: A long time ago, in a century far away...
- From: Brian Coles <AIXpert5L-cdp@xxxxxxxxx>
- Date: Mon, 10 Oct 2005 10:44:57 GMT
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
.
- References:
- A long time ago, in a century far away...
- From: frosty
- Re: A long time ago, in a century far away...
- From: frosty
- Re: A long time ago, in a century far away...
- From: Mark Brown
- Re: A long time ago, in a century far away...
- From: Bill H
- A long time ago, in a century far away...
- Prev by Date: Re: Internal database structure
- Next by Date: (Semi-OT) SSH across Internet difficulties
- Previous by thread: Re: A long time ago, in a century far away...
- Next by thread: worked in sydney
- Index(es):
Relevant Pages
|