Tajuk yang ditulis semula ialah: Kira umur berdasarkan tarikh lahir dalam format YYYYMMDD
P粉265724930
P粉265724930 2023-08-20 16:03:39
0
2
375
<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>
P粉265724930
P粉265724930

membalas semua(2)
P粉574268989

Cubalah.

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;
}

Saya percaya satu-satunya bahagian kod anda yang kelihatan kasar ialah bahagian substr.

Fiddle: http://jsfiddle.net/codeandcloud/n33RJ/

P粉478188786

Saya akan memilih kebolehbacaan:

function _calculateAge(birthday) { // birthday is a date
    var ageDifMs = Date.now() - birthday.getTime();
    var ageDate = new Date(ageDifMs); // miliseconds from epoch
    return Math.abs(ageDate.getUTCFullYear() - 1970);
}

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.


Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!