2008 ist ja wieder einmal ein Schaltjahr. Um das zu überprüfen, habe ich eine kleine Funktion zusammengebaut:
Function IsLeapYear ( y As Integer ) As Boolean
IsLeapYear = True
Set dt = New NotesDateTime( Datenumber( y ,3, 1) )
Call dt.AdjustDay (-1)
If Not Day (dt.DateOnly) = 29 Then
IsLeapYear = False
End If
End Function
Die Funktion erstellt ein Notes DateTime object und setzt das Datum auf den 1.3. des Jahres, das als Parameter übergeben wird. Danach zieht es von diesem Datum 1 Tag ab, um auf den letzten Tag des Monats Februar zu gelangen.
Ist der Wert des Tages 29, dann ist es ein Schaltjahr, sonst nicht.
Ich habe dann mal ein wenig mit der Funktion rumgespielt und habe mal die Zahl 1700 eingegeben. WUMMS ... Fehlermeldung.
1699 und 1701 sind kein Problem, aber das Jahr 1700 ...
In einer Schleife habe ich dann die Jahreszahlen 1 bis 9999 an die Funktion übergeben. Insgesamt erhalte ich 6 mal die gleiche Fehlermeldung wie beim Jahr 1700.
1700, 1500, 1400, 1300, 1100 und 1000
Nicht, daß da irgendwie ein Bug in Notes ist