Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用出生日期获取一个人的年龄_Php - Fatal编程技术网

Php 使用出生日期获取一个人的年龄

Php 使用出生日期获取一个人的年龄,php,Php,我在建一个小网站,却被什么东西卡住了。 你如何通过出生日期来确定一个人的年龄 所以这应该是这样的: $age=curr_date - YEAR($birth_date) 我希望这个问题足够清楚 提前感谢使用date和strotime从出生日期获取一个人的年龄 $birth_date = '1991-12-10'; echo $age= date("Y") - date("Y", strtotime($birth_date)); //25 首先,像这样在strotime中转换日期 $userD

我在建一个小网站,却被什么东西卡住了。 你如何通过出生日期来确定一个人的年龄

所以这应该是这样的:

$age=curr_date - YEAR($birth_date)
我希望这个问题足够清楚


提前感谢使用
date
strotime
从出生日期获取一个人的年龄

$birth_date = '1991-12-10';
echo $age= date("Y") - date("Y", strtotime($birth_date)); //25

首先,像这样在strotime中转换日期

$userDob  = '18/01/2000'; //Try to convert your date format like this
$userDob  =  strtotime($userDob);
$currDate =  time();
$dateDiff =  $currDate  - $userDob;
echo Date('y',$dateDiff);

假设
$birth\u date
YYYY-MM-DD
格式

你可以用下面的方法来做。首先创建出生日期的日期时间对象

$date=date("Y-m-d",strtotime($birth_date));
$bDObj=new DateTime($date);
$cDate=new DateTime();

$age=$cDate->format("Y")-$bDObj->format("Y");
您可以使用以下选项:

<?php
$from = new DateTime('1993-09-19');
$to   = new DateTime('today');
echo $from->diff($to)->y;
?>

以下是代码:

$dob = new DateTime('2015-10-02');
$today = new DateTime;
$age = $today->diff($dob);
你可以这样呼应这个时代:

echo $age->format('%y Years, %m Months and %d Days');
用这个


您的逻辑不正确。你不能通过比较某人的出生年份和当前年份来计算其年龄。你必须把实际日期考虑在内。
<?php
$date1=date_create("2013-01-01");
$date2=date_create("2013-02-10");
$diff=date_diff($date1,$date2);

echo $diff->format("Total number of years: %y.");
?> 
    <?php

        // ASSUMING YOU HAVE THE DATE IN MYSQL FORMAT: Y-m-d
        $birthDate  = "1980-10-05";
        $today      = date("Y-m-d");

        $dateA      = new DateTime($today);
        $dateB      = new DateTime($birthDate);

        $dateDiff   = $dateA->diff($dateB);
        $age        = "{$dateDiff->y} Years, {$dateDiff->m} Months and {$dateDiff->d} Days";

        var_dump($age);     //<== DUMPS: '35 Years, 8 Months and 3 Days'