Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengira Umur dengan Tepat dalam PHP, Mengendalikan Tahun Lompat dan Mengelak Isu Kebolehpercayaan?

Bagaimanakah Saya Boleh Mengira Umur dengan Tepat dalam PHP, Mengendalikan Tahun Lompat dan Mengelak Isu Kebolehpercayaan?

Susan Sarandon
Lepaskan: 2024-12-03 09:34:12
asal
600 orang telah melayarinya

How Can I Accurately Calculate Age in PHP, Handling Leap Years and Avoiding Reliability Issues?

Mengira Umur dengan Ketepatan dalam PHP

Memandangkan tarikh lahir pangkalan pengguna yang besar, penentuan umur mereka dengan tepat menimbulkan cabaran. Pendekatan sedia ada, seperti menjalankan gelung sehingga tarikh semasa melebihi tarikh lahir, telah menghadapi masalah kebolehpercayaan. Mari kita mendalami penyelesaian yang lebih mantap dan cekap.

Satu kaedah alternatif melibatkan memanfaatkan fungsi strtotime(). Dengan menyediakan tarikh dalam format mm/dd/yyyy, strtotime() menukarkannya menjadi cap waktu yang mewakili bilangan saat sejak zaman itu (1 Januari 1970 00:00:00 UTC). Menggunakan cap masa ini, kita boleh mengira umur dengan membahagikan perbezaan antara cap masa semasa dan cap masa tarikh lahir dengan bilangan saat dalam setahun (31556926).

Walau bagaimanapun, pendekatan ini mungkin tidak mengendalikan tahun lompat dengan betul dan boleh mengakibatkan pengiraan umur yang salah. Untuk menangani perkara ini, pendekatan yang lebih tepat ialah menggunakan fungsi mktime(), yang mengambil bulan, hari dan tahun sebagai parameter dan mengembalikan cap waktu. Ini membolehkan kami membina semula tarikh lahir dan tarikh semasa dengan tepat dalam format yang setanding, memastikan ketepatan walaupun dalam kehadiran tahun lompat.

Contoh:

$birthDate = "12/17/1983"; // mm/dd/yyyy format
$birthDateTimestamp = mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]);
$currentDateTimestamp = time();
$age = (date("md", $birthDateTimestamp) > date("md") ? ((date("Y") - (int)$birthDate[2]) - 1) : (date("Y") - (int)$birthDate[2]));
echo "Age is: " . $age;
Salin selepas log masuk

Contoh kod ini memberikan yang boleh dipercayai dan cara yang tepat untuk mengira umur seseorang yang diberi tarikh lahir mereka dalam format mm/dd/tttt, menangani kemungkinan perangkap dan memastikan ketepatan walaupun dalam lonjakan tahun.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Umur dengan Tepat dalam PHP, Mengendalikan Tahun Lompat dan Mengelak Isu Kebolehpercayaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan