2016-06-02 2 views
0

누가 윤년을 감안하여 MySQL을 사용하여 나이와 남은 날을 계산할 수 있는지 알고 있습니까?PHP MYSQL 년과 일 계산

나는 총 일수를 계산할 수있는 예제를 발견했습니다. 내가이있어 지금은

22 years, 134 days, 
23 years, 361 days  
24 years, 11 days 

:

SELECT 
    name, 
    dob, 
    TIMESTAMPDIFF(YEAR, dob, now()) as _year, 
    TIMESTAMPDIFF(MONTH, dob, now()) % 12 as _month, 
    FLOOR(TIMESTAMPDIFF(DAY, dob, now()) % 30.4375) as _day 
FROM 
    client 

하지만이 작동하지 않고 % 30.4375는 윤년에 대한 해결책이 아니다

는하지만 난 같은 결과를 원한다.

+2

시도한 것? 어디에서 문제를 겪었습니까? 시도한 코드 붙여 넣으십시오. –

답변

0

이것에 대해 어떻게 :

첫 번째 부분은 년을 얻는다

SELECT 
    name, 
    dob, 
    TIMESTAMPDIFF(YEAR, dob, now()) years, 
    TIMESTAMPDIFF(DAY, TIMESTAMPADD(YEAR, TIMESTAMPDIFF(YEAR, dob, now()), dob), now()) days 
FROM 
    client; 
, 두 번째 부분은 년 추가 MySQL 서버에서 데이터를로드 한 후 - 나는 시간 범위를 처리하는 PHP DateTime 개체를 사용하는 것이 좋습니다 것입니다 생년월일까지 마지막 생일을 얻으려면 & 그 다음 날 수를 얻습니다.

+0

고마워요 폴 그 작품! – Arie

0

MySQL은 주로 데이터베이스이며 렌더링 엔진이 아닙니다.

$d1=new DateTime($row['dob']); 
$d2=new DateTime('now'); 
$diff=$d2->diff($d1); 
print_r($diff) ;