Feedback

C# - Alter einer Person ermitteln

Veröffentlicht von am 09.03.2013
(2 Bewertungen)
Auf webseiten Sieht man manchmal solche Angaben wie "Ich bin 27 Jahre alt und...". Es ist natürlich nervig wenn man das an seinem Geburtstag ändern muss. Diese Methode liefert das Alter der Person in Jahren. In ASP.NET kann das Alter Beispielsweise so abgerufen werden:
<%: GetAge(new DateTime(1996, 3, 13) %>
GFU-Schulungen  [Anzeige]

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

        /// <summary>
        /// Liefert das Alter einer Person, in bezug auf den heutigen Tag.
        /// </summary>
        /// <param name="birth">Der Tag, an dem die Person geburtatag hat.</param>
        /// <returns>Die Jahre, wie alt die Person ist.</returns>
        static int GetAge(DateTime birth)
        {
            DateTime dt = DateTime.Now;
            if (dt.Month < birth.Month || dt.Month == birth.Month && dt.Day < birth.Day)
                return dt.Year - birth.Year - 1;
            else
                return dt.Year - birth.Year;
        }
Abgelegt unter Geburtstag, Alter, DateTime, TimeSpan.

2 Kommentare zum Snippet

Alf schrieb am 02.05.2013:
Hallo Koopakiller,
die Methode GetAge ist falsch. Wenn z.B. das Geburtsdatum der 01.06.2012 und das heutige Datum der 02.05.2013 ist, liefert der Rückgabewert "1". Dabei müsste es "0" sein. Der korrekte Code sieht wie folgt aus:

static int GetAge(DateTime birth)
{
DateTime dt = DateTime.Now;
if (dt.Month < birth.Month || dt.Month == birth.Month && dt.Day < birth.Day)
{
return dt.Year - birth.Year - 1;
}
else
{
return dt.Year - birth.Year;
}
}
Koopakiller schrieb am 02.05.2013:
Stimmt...ich habe es korrigiert
 

Logge dich ein, um hier zu kommentieren!