One of the trickier parts of handling date values is dealing withleap years. Everyone knows that every fourth year is a leap yearin which February has 29 days instead of the typical 28. Whatis less known is that there are two more rules to check to determinewhether a given year is a leap year or not:
- Years that are evenly divisible by 100 are not leapyears;
- Years that are evenly divisible by 400 are leap years.
With that in mind, I wrote this function to test whether any
given year is a leap year:
Function IsLeap (iYear As Integer) _ As Integer 'Set Default Value IsLeap = False 'Check the 400 Year rule If (iYear Mod 400 = 0) Then IsLeap = True GoTo IsLeap_Exit End If 'Check the 100 Year rule If (iYear Mod 100 = 0) Then IsLeap = False GoTo IsLeap_Exit End If 'Check the 4 Year rule If (iYear Mod 4 = 0) Then IsLeap = True Else IsLeap = False End IfIsLeap_Exit:End Function
(Note: This is the VB3 version. For VB4 substitute a Boolean returnvalue for the function.)