Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengira Umur dari Tarikh Lahir dalam SQL dan PHP?

Bagaimana untuk Mengira Umur dari Tarikh Lahir dalam SQL dan PHP?

DDD
DDDasal
2024-10-24 12:01:02873semak imbas

How to Calculate Age from Date of Birth in SQL and PHP?

Kira Umur dari Tarikh Lahir dalam SQL dan PHP

Menentukan umur pengguna berdasarkan tarikh lahir mereka adalah tugas biasa dalam banyak aplikasi. Dalam artikel ini, kami akan meneroka cara untuk mencapai ini dalam kedua-dua SQL dan PHP.

Pendekatan SQL

MySQL menyediakan fungsi TIMESTAMPDIFF(), yang membolehkan kami mengira perbezaan antara dua cap masa. Dalam kes kami, kami boleh menggunakan fungsi ini untuk mengira umur dalam tahun antara tarikh lahir pengguna dan tarikh semasa. Pertanyaan berikut menunjukkan pendekatan ini:

<code class="sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age</code>

Pertanyaan ini akan mengembalikan umur pengguna dalam tahun. Jika pengguna dilahirkan pada 15 Mac 1999, pertanyaan akan kembali pada 14. Begitu juga, jika pengguna dilahirkan pada 15 Mac 2014, pertanyaan akan kembali pada 15.

Pendekatan PHP

PHP menyediakan beberapa pilihan untuk mengira umur pengguna dari tarikh lahir mereka. Coretan kod berikut menunjukkan dua pendekatan menggunakan kelas DateTime:

<code class="php">// object oriented
$from = new DateTime('1970-02-01');
$to   = new DateTime('today');
echo $from->diff($to)->y;

// procedural
echo date_diff(date_create('1970-02-01'), date_create('today'))->y;</code>

Kedua-dua pendekatan mengembalikan umur pengguna dalam tahun. Fungsi date_diff() juga boleh digunakan untuk mengira perbezaan antara dua objek DateTime, seperti yang ditunjukkan dalam pendekatan prosedur.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Umur dari Tarikh Lahir dalam SQL dan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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