Heim > Web-Frontend > js-Tutorial > Wie kann ich das Alter anhand einer Datumszeichenfolge JJJJMMTT effizient berechnen?

Wie kann ich das Alter anhand einer Datumszeichenfolge JJJJMMTT effizient berechnen?

DDD
Freigeben: 2024-12-17 20:08:16
Original
189 Leute haben es durchsucht

How Can I Efficiently Calculate Age from a YYYYMMDD Date String?

Alter anhand des Geburtsdatums im Format JJJJMMTT berechnen

Das Berechnen des Alters einer Person anhand ihres Geburtsdatums ist eine häufige Programmieraufgabe. Bei einem Geburtsdatum im Format JJJJMMTT können zahlreiche Ansätze zum Einsatz kommen. Die Frage untersucht eine alternative Lösung zu der derzeit verwendeten:

var dob = '19800810';
var year = Number(dob.substr(0, 4));
var month = Number(dob.substr(4, 2)) - 1;
var day = Number(dob.substr(6, 2));
var today = new Date();
var age = today.getFullYear() - year;
if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {
  age--;
}
alert(age);
Nach dem Login kopieren

Die vorgeschlagene Lösung geht das Problem mit der Substr-Methode an und bietet einen prägnanteren und optimierten Ansatz:

function getAge(dateString) {
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    return age;
}
Nach dem Login kopieren

Diese Funktion vereinfacht die Berechnung, indem sie das Date-Objekt direkt verwendet, um das Geburtsdatum zu erstellen und die erforderlichen Informationen zu extrahieren. Außerdem wird nach Szenarien gesucht, in denen der Geburtsmonat und -tag im aktuellen Jahr noch nicht vorgekommen ist, und das Alter entsprechend verringert.

Während die ursprüngliche Lösung funktionsfähig ist, verwendet sie die substr-Methode, um Datumskomponenten zu extrahieren kann zu Verwirrung und möglichen Fehlern führen. Die vorgeschlagene Funktion bietet eine einfachere und effizientere Methode zur Berechnung des Alters auf der Grundlage eines angegebenen Geburtsdatums im Format JJJJMMTT.

Das obige ist der detaillierte Inhalt vonWie kann ich das Alter anhand einer Datumszeichenfolge JJJJMMTT effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage