테스트 사이트 - 개발 중인 베타 버전입니다

날짜계산 문의드립니다. 채택완료

개발자를꿈꾸는촙촙 7년 전 조회 2,005

나이 구하는 구문을 찾아 넣으려고 하는데요  아래 코드는 정상적으로 나이가 출력되는데,

1980-1-2 가 들어있는 필드 birth를 넣으면 출력이 되지 않습니다.

$birth_time   = strtotime($birth);

$birth_time   = $list[$i]['birth']; 등으로 넣어봐도 되지않아 문의드립니다 ㅠㅠ

 

 

 

</p>

<p><?php

$birth_time   = strtotime('1980-1-2');

$now          = date('Y');

$birthday     = date('Y' , $birth_time);

$age           = $now - $birthday + 1 ;

?> </p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
7년 전

예제코드는 strtotime으로 변형하면서 필드값은 그대로 사용하면 되겟습니까?

birth필드가 날짜라면 아래처럼 해야겠죠

$birth_time   = strtotime($list[$i]['birth']);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

개발자를꿈꾸는촙촙
7년 전
$birth_time = strtotime($list[$i]['birth']);

로도 출력이 안되는데 어떤 문제가 있어 출력이 되지 않는것일까요.

같은 페이지에서 <?php echo $list[$i]['birth'] ?> 하면 정확한 값이 잘 나옵니다.


<?php echo $age ?> 로 부르면 전부 48이라는 통일된 값이 나옵니다 ㅠㅠ
개발자를꿈꾸는촙촙
7년 전
다시 설치해서 하니까 잘되네요....
아.... 감사합니다 !!!!

댓글을 작성하려면 로그인이 필요합니다.

7년 전

list.skin.php 의 $list 루프문 안에서, 하나씩 확인하면서 살펴보는 것이 어떨까 합니다.

(birth 필드가 varchar 타입으로 되어있는지, date 타입으로 되어있느지, datetime  타입으로 되어있는지도 확인해보는 것이 좋을 듯 합니다.)

 

참고 예저입니다.

</p>

<p><?php

    for ($i=0; $i<count($list); $i++) {

        //$list[$i]['birth'] = '1980-1-2';

        $birth_time  = strtotime($list[$i]['birth']);

        // echo $list[$i]['birth'];

        $now         = date('Y');

        $birthday    = date('Y' , $birth_time);

        // echo $birthday;

        $age         = $now - $birthday + 1 ;

        echo $age;

?></p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

개발자를꿈꾸는촙촙
7년 전
답변 감사합니다.
디비 권한이 없어 얻어서 타입을 알아봐야겠네요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인