重寫後的標題為:根據YYYYMMDD格式的出生日期計算年齡
P粉265724930
2023-08-20 16:03:39
<p>如何根據格式為YYYYMMDD的出生日期計算年齡?是否可以使用<code>Date()</code>函數? </p>
<p>我正在尋找比我現在使用的更好的解決方案:</p>
<p><br /></p>
<pre class="brush:js;toolbar:false;">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);</pre>
<p><br /></p>
嘗試一下。
我相信你的程式碼中唯一看起來粗糙的地方就是
substr
部分。Fiddle:http://jsfiddle.net/codeandcloud/n33RJ/
#我會選擇可讀性:
免責聲明:這個方法也存在精確度問題,因此也不能完全信任。在某些年份、某些小時或夏令時(取決於時區)可能會有誤差。
如果精確度非常重要,我建議使用一個函式庫來處理這個問題。此外,
@Naveens post
可能是最準確的,因為它不依賴時間。