Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen | VB-Versionen: VB6 | 11.08.04 |
![]() Eine sehr einfache Möglichkeit, die Anzahl der Tage eines Monats zu ermitteln, zeigt dieser Einzeiler. | ||
Autor: ![]() | Bewertung: ![]() ![]() ![]() ![]() ![]() | Views: 37.652 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | ![]() |
Die Funktion Anzahl Tage im Monat ermitteln II sah auf den ersten Blick vielversprechend aus. Gab bei meinem ersten Test aber einen Fehler von sich. Ich dachte mir, "Das muss auch einfacher gehen..."
Und hier gibts die Lösung dazu:
DateSerial erlaubt uns ja arithmetische Berechnungen...
...Also warum nicht selbige verwenden?
Private Function DaysInMonth(ByVal datum As Date) As Integer ' Liefert die Anzahl der Tage zu einem Datum DaysInMonth = Format(DateSerial(Year(datum), Month(datum) + 1, 1 - 1), "Dd") End Function
Das übergebene Datum wird auf Jahr und Monat zerlegt. Das Monat um 1 erhöhen, also den nächsten Monat. Und die Angabe für den Tag ("1 - 1") liefert nach der Hilfe den letzten Tag im Vormonat.
Übrigens: Das Format auf "Dd" ist nur ein möglicher Vorschlag, man könnte beispielsweise auch den Tag des letzten Tages rausfinden (Format auf "dddd").