Der umgeschriebene Titel lautet: Berechnen Sie das Alter anhand des Geburtsdatums im Format JJJJMMTT
P粉265724930
2023-08-20 16:03:39
<p>Wie berechnet man das Alter anhand des Geburtsdatums im Format JJJJMMTT? Ist es möglich, die Funktion <code>Date()</code> zu verwenden? </p>
<p>Ich suche nach einer besseren Lösung als der, die ich jetzt verwende: </p>
<p><br /></p>
<pre class="brush:js;toolbar:false;">var dob = '19800810';
var Jahr = Number(dob.substr(0, 4));
var Monat = Number(dob.substr(4, 2)) - 1;
var day = Number(dob.substr(6, 2));
var today = new Date();
var age = today.getFullYear() – Jahr;
if (today.getMonth() < Monat || (today.getMonth() == Monat && today.getDate() < Tag)) {
Alter--;
}
Alert(Alter);</pre>
<p><br /></p>
尝试一下。
我相信你的代码中唯一看起来粗糙的地方就是
substr
部分。Fiddle:http://jsfiddle.net/codeandcloud/n33RJ/
我会选择可读性:
免责声明:这个方法也存在精度问题,因此也不能完全信任。在某些年份、某些小时或夏令时(取决于时区)可能会有误差。
如果精度非常重要,我建议使用一个库来处理这个问题。此外,
@Naveens post
可能是最准确的,因为它不依赖于时间。