06-23-2004, 04:54 PM
Quote:(1)This is caused by my explaination at comment (2).
' 1-1-1900 was a Sunday (backtracked)
NO, IT WAS A MONDAY.
Quote:(2) IF INT(NowYear / 4) * 4Hrmm, I thought every year, multiplier of 4 was a leap year. (read your IsLeapYear)... hrmmm... ok right. So 1900 was not... that means 1-1-1900 wasn't a Sunday but a Monday indeed (counted 1 day extra: 29-2-1900). To solve this problem, do this:
THIS IS NOT A VERY GOOD WAY TO CHECK FOR LEAP YEAR. FOR EXAMPLE, THIS CODE WOULD CONSIDER 1900 AS A LEAP YEAR, WHICH IT WAS NOT. SEE THÃ "ISLEAPYEAR" FUNCTION AND COMMENTS AT THE END OF MY POSTED SOLUTION ABOVE.
*****
Replace:
Code:
IF INT(NowYear / 4) * 4 = NowYear THEN DaysPerMonth(2) = 29 ELSE DaysPerMonth(2) = 28
Code:
IF (NowYear MOD 4 = 0 AND NowYear MOD 100 <> 0) OR (NowYear MOD 400 = 0) THEN DaysPerMonth(2) = 29 ELSE DaysPerMonth(2) = 28