다음 날짜의 정확한 나이를 PHP에서 $birth_date
에 입력하고 싶습니다. 어떻게됩니까? 예를 들어생년월일을 어떻게 알 수 있습니까?
$birth_date = 2011/12/16;
$ birth_date =>이 내 생일이다. 내 생일로부터의 출력 예를 들어
이다 : 나는 또한 Tizag PHP tutorial 추천
다음 날짜의 정확한 나이를 PHP에서 $birth_date
에 입력하고 싶습니다. 어떻게됩니까? 예를 들어생년월일을 어떻게 알 수 있습니까?
$birth_date = 2011/12/16;
$ birth_date =>이 내 생일이다. 내 생일로부터의 출력 예를 들어
이다 : 나는 또한 Tizag PHP tutorial 추천
유닉스 타임 스탬프를 사용하여 생일을 처리하는 것은 좋지 않습니다. 그 범위는 매우 제한되어 있으므로 (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");
<?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 Day
이 http://snippets.dzone.com/posts/show/1310
에서 수정했습니다.
제발 다시 내 게시물을 읽어보십시오. 나는이 날짜부터 나이를 얻고 싶습니다 :'2011/12/16' –
"-"를 "/"로 대체하면 효과가 있습니다. – Gnat
@KateWintz, 진지하게도'explode ("-", $ birthday);를''explode ("/", $ birthday)로 변경해야한다는 것을 알아 내기 위해 2 초를 코드를 보지 못했습니다. 귀하의 형식에 맞게 작동하게하려면 어떻게해야합니까? 적어도, StackOverflow는 개인용 코딩 기계라고 생각하는 대신 제공되는 답변에서 배우십시오. –
검색 기능을 사용하십시오. 이것은 여러 번 전에 요구되었습니다. – Gordon