Home  >  Article  >  Backend Development  >  How to Calculate a User\'s Age from Their Date of Birth?

How to Calculate a User\'s Age from Their Date of Birth?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 09:02:02187browse

How to Calculate a User's Age from Their Date of Birth?

Calculating Age from Date of Birth

To calculate a user's age based on their date of birth stored in an SQL database, you can leverage various methods.

PHP Calculation:

If you have the user's birthdate as a string in PHP, you can utilize the following functions:

<code class="php"><?php
$birthdate = '1999-03-15';

// PHP >= 5.3.0: Object-oriented approach
$from = new DateTime('1970-02-01');
$to   = new DateTime($birthdate);
$age = $from->diff($to)->y;

// PHP >= 5.3.0: Procedural approach
$age = date_diff(date_create('1970-02-01'), date_create($birthdate))->y;

echo $age; // Output: 14
?></code>

MySQL Calculation:

In MySQL, you can calculate the age directly using the TIMESTAMPDIFF() function:

<code class="sql">SELECT TIMESTAMPDIFF(YEAR, '1999-03-15', CURDATE()) AS age;</code>

This query will return the age of the user based on the provided birthdate.

Example Integration:

To integrate this calculation into your existing code, you can modify the SQL query to retrieve the user's birthdate, then use the above methods to calculate their age before outputting it.

<code class="php"><?php
$id = intval($_GET['id']);
$dn = mysql_fetch_array($dn);
$dn = mysql_query('select username, email, skype, avatar,
                    date, signup_date, gender from users where id="'.$id.'"');
$dnn = mysql_fetch_array($dn);

$age = // Calculate age using any of the methods above

echo "Username: {$dnn['username']}, Age: {$age}";
?></code>

The above is the detailed content of How to Calculate a User\'s Age from Their Date of Birth?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn