Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen | VB-Versionen: VB6 | 11.08.04 |
Anzahl Tage im Monat ermitteln III Eine sehr einfache Möglichkeit, die Anzahl der Tage eines Monats zu ermitteln, zeigt dieser Einzeiler. | ||
Autor: Emanuel Wlaschitz | Bewertung: | Views: 36.461 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
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").