2011-12-17 9 views
-6

다음 날짜의 정확한 나이를 PHP에서 $birth_date에 입력하고 싶습니다. 어떻게됩니까? 예를 들어생년월일을 어떻게 알 수 있습니까?

$birth_date = 2011/12/16;

$ birth_date =>이 내 생일이다. 내 생일로부터의 출력 예를 들어

이다 : 나는 또한 Tizag PHP tutorial 추천

+0

검색 기능을 사용하십시오. 이것은 여러 번 전에 요구되었습니다. – Gordon

답변

1

유닉스 타임 스탬프를 사용하여 생일을 처리하는 것은 좋지 않습니다. 그 범위는 매우 제한되어 있으므로 (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', '/'); 
?> 

0 Year, 0 Month, 1 Dayhttp://snippets.dzone.com/posts/show/1310

에서 수정했습니다.

+0

제발 다시 내 게시물을 읽어보십시오. 나는이 날짜부터 나이를 얻고 싶습니다 :'2011/12/16' –

+0

"-"를 "/"로 대체하면 효과가 있습니다. – Gnat

+3

@KateWintz, 진지하게도'explode ("-", $ birthday);를''explode ("/", $ birthday)로 변경해야한다는 것을 알아 내기 위해 2 초를 코드를 보지 못했습니다. 귀하의 형식에 맞게 작동하게하려면 어떻게해야합니까? 적어도, StackOverflow는 개인용 코딩 기계라고 생각하는 대신 제공되는 답변에서 배우십시오. –

관련 문제