Tajuk yang ditulis semula ialah: Kira umur berdasarkan tarikh lahir dalam format YYYYMMDD
P粉265724930
2023-08-20 16:03:39
<p>Bagaimana untuk mengira umur berdasarkan tarikh lahir dalam format YYYYMMDD? Adakah mungkin untuk menggunakan fungsi <code>Date()</code> </p>
<p>Saya sedang mencari penyelesaian yang lebih baik daripada apa yang saya gunakan sekarang: </p>
<p><br /></p>
<pre class="brush:js;toolbar:false;">var dob = '19800810';
var tahun = Bilangan(dob.substr(0, 4));
var bulan = Bilangan(dob.substr(4, 2)) - 1;
var day = Number(dob.substr(6, 2));
var today = new Date();
umur var = hari ini.getFullYear() - tahun;
jika (hari ini.getMonth() < bulan || (today.getMonth() == bulan && today.getDate() < hari)) {
umur--;
}
makluman(umur);</pra>
<p><br /></p>
Cubalah.
Saya percaya satu-satunya bahagian kod anda yang kelihatan kasar ialah bahagian
substr
.Fiddle: http://jsfiddle.net/codeandcloud/n33RJ/
Saya akan memilih kebolehbacaan:
Penafian: Kaedah ini juga mempunyai masalah ketepatan, jadi ia tidak boleh dipercayai sepenuhnya. Ralat mungkin berlaku pada tahun tertentu, jam tertentu atau waktu penjimatan siang (bergantung pada zon waktu).
Jika ketepatan adalah sangat penting, saya mengesyorkan menggunakan perpustakaan untuk mengendalikan perkara ini. Juga,
@Naveens post
mungkin yang paling tepat kerana ia tidak bergantung pada masa.