Entwickler-Ecke

Windows API - Tagesanzahl eines beliebigen Monats rausfinden!


Kostja - So 15.06.03 21:36
Titel: Tagesanzahl eines beliebigen Monats rausfinden!
Ich habe folgendes Problem:
Ich möchte die Anzahl der Tage eines von mir ausgesuchten Jahres und Monats ermitteln. Gibt es in Delphi vielleicht eine Funktion die das für mich übernimmt, so dass ich nur den Monat und das Jahr eingeben muss und als Ergebniss die Anzahl der Tage bekomme?

MfG Kostja


Matthias - So 15.06.03 22:51

Hy,

ob es so etwas gibt weiss ich nicht, aber programmier es doch selbst.
Hier ein Ansatz. Ich habe ihn allerdings nicht getestet.


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function AnzahlTage(Jahr, Monat: integer);
begin
  case Monat of
     1,3,5,7,8,10,12 : Result := 31;
     4,6,9,11           : Result := 30;
     2                  : if (Jahr mod 4 = 0) and not (Jahr mod 100 = 0)
                             then Result := 29
                             else Result := 28;
  end;
end;


So weit ich weiss sind Schaltjahre durch 4 und nicht durch 100 teilbar.

ciao
Matthias


Delete - Mo 16.06.03 08:13

Delphi enthält eine Schaltjahresfunktion, IsLeapYear.
SysUtils.pas hat folgendes geschrieben:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
function IsLeapYear(Year: Word): Boolean;
begin
  Result := (Year mod 4 = 0and
    ((Year mod 100 <> 0or
     (Year mod 400 = 0)
    );
end;