AspGerman Wiki

Man kann die Anzahl der Tage eines Monats für 11 Monate hervorragend einfach mit einer Select-Case Anweisung ermitteln, allerdings beim Monat Februar wird die Sache doch etwas kitzlig, sollte man doch die Schaltjahre berücksichtigen.

Um sich die ganzen Sorgen zu ersparen, kann man eine einzige Funktion schreiben, die alle Spezialfälle abfängt, und noch dazu relativ einfach und kurz zu implementieren ist:

<%
Response.Write GetNumOfDaysPerMonth(2,1999)

Function GetNumOfDaysPerMonth(nMonth,nYear)
	dtLastDay = DateSerial(nYear, nMonth + 1, 0)
	GetNumOfDaysPerMonth = DatePart("d",dtLastDay)
End Function
%>

Um den letzten Tag des Monats zu ermitteln, verwendet man die DateSerial Funktion, geht einen Monat nach vor, und übergibt 0 als Tag - damit bekommt man den letzten Tag des Monats (zugegebenermaßen eine etwas komische Methode, aber sie funktioniert und ist auch von MS dokumentiert). Mit DatePart extrahiert man dann den Tag aus dem Datumswert und schon hat man die Anzahl der Tage zur Verfügung.

ScrewTurn Wiki version 2.0.33. Some of the icons created by FamFamFam.