2011-12-17 55 views
-6

我想通过php获取以下日期的确切年龄段var $birth_date,这是怎么回事?如何根据出生日期获得年龄

$birth_date = 2011/12/16;

$ birth_date =>例如,这是我的生日。

对于从我的出生日期例子输出为:0 Year, 0 Month, 1 Day

+0

请使用搜索功能。这已经被多次询问过了。 – Gordon 2011-12-17 10:06:56

回答

1

使用unix时间戳处理生日是一个坏主意,因为它们的范围非常有限(1970-2038)。使用php的内建DateTime类代替:

$then = DateTime::createFromFormat("Y/m/d", "2011/12/16"); 
$diff = $then->diff(new DateTime()); 
echo $diff->format("%y year %m month %d day\n"); 
-1
<?php 

    //calculate years of age (input string: YYYY-MM-DD) 
    function birthday ($birthday, $separator){ 
    list($year,$month,$day) = explode($separator, $birthday); 
    $year_diff = date("Y") - $year; 
    $month_diff = date("m") - $month; 
    $day_diff = date("d") - $day; 
    if ($day_diff < 0 || $month_diff < 0) 
     $year_diff--; 
    return $year_diff; 
    } 
    echo getAge('2010/12/16', '/'); 
?> 

http://snippets.dzone.com/posts/show/1310

重新格式化我也建议Tizag PHP tutorial

+0

请再阅读我的文章。我想从这个日期变老:`2011/12/16` – 2011-12-17 09:27:05

相关问题