Mit Hilfe der DateDiff-Funktion von VB lässt sich schnell die Anzahl vergangener Jahre zweier Datums-Angaben ermitteln. Für das Berechnen des genauen Alters scheidet der normale DateDiff-Funktionsaufruf allerdings aus, da hier immer pauschal die bis Jahresende vergangenen Jahre ermittelt werden. Möchte man allerdings das exakte Alter berechnen, gilt es den Geburtsmonat und ggf. den Tag ebenfalls zu berücksichtigen! Und genau das macht nachfolgende Funktion. Sie errechnet das genaue Alter anhand des übergebenen Geburstags (Datum). ' Exaktes Alter berechnen Public Function Alter(ByVal vGeburtstag As Variant) As Integer Dim nDif As Integer vGeburtstag = CDate(vGeburtstag) nDif = DateDiff("yyyy", vGeburtstag, Now()) If Month(vGeburtstag) > Month(Now) Then nDif = nDif - 1 ElseIf Month(vGeburtstag) = Month(Now) Then If Day(vGeburtstag) > Day(Now) Then nDif = nDif - 1 End If Alter = nDif End Function Beispiel: Dim Geburtsdatum As Date Geburtsdatum = "03.06.1960" MsgBox "Alter: " & Alter(Geburtsdatum) Eine weitere Lösung hat uns Rudolf Lanz geliefert: Function FucAlter(Xdat As Date) As Integer FucAlter = DateDiff("yyyy", Xdat, Now()) + _ ((Format(Now(), "mmdd") < (Format([Xdat], "mmdd")))) End Function Dieser Tipp wurde bereits 33.823 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |