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

if 문 안에 날짜 기간 넣는 방법 문의 드립니다. 채택완료

메너 2년 전 조회 1,872

안녕하세요. 고수님들

초보자가 질문 올립니다.

 

아래의 조건으로 조건문을 만들어서 상태를 표현하려고 하는데요.. 

if문에 시작일~종료일 (예제: 23.07.09~23.07.15)을 넣고 싶은데 이래저래 해봐도 잘 안됩니다.

 

<?php echo date("m.d", strtotime($list[$i]['wr_9'])); //시작일 ?>~<?php echo date("m.d", $list[$i]['update']); //종료일 ?>

 

무식하게 위에처럼 넣었더니 안 되네요.. 도움 주시면 고맙겠습니다.

 

</strong></p>

<p>    $a = date("Y-m-d", strtotime($list[$i]['wr_9'])); // 시작일

    $b = date("Y-m-d");  // 현재시간

    $c = date("Y-m-d", $list[$i]['update']);  // 종료일</p>

<p><strong>

 

</strong></p>

<p><strong>    if($a > $b && $c > $b) { // 상태

            $wr_label = '<div class="label-cap bg-blue">예정</div>';

            $wr_icon = '<span class="tack-icon bg-blue"><span style="color:#e74c3c;">시작일~종료일</span></span>';

        } else if($is_lock) {

            $wr_label = '<div class="label-cap bg-red">Lock</div>';

        } else if($a <= $b && $c >= $b) {

            $wr_label = '<div class="label-cap bg-orange">진행</div>';

            $wr_icon = '<span class="tack-icon bg-orange"><span style="color:#e74c3c;">시작일~종료일</span></span>';

        } else if($a < $b && $c < $b){

            $wr_label = '<div class="label-cap bg-green">종료</div>';

            $wr_icon = '<span class="tack-icon bg-green"><span style="color:#e74c3c;">시작일~종료일</span></span>';

        }</strong></p>

<p><strong>

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

답변 4개

채택된 답변
+20 포인트
웅푸
2년 전

$a = date("m.d", strtotime($list[$i]['wr_9'])); // 시작일
$c = date("m.d", $list[$i]['update']);  // 종료일

if($a > $b && $c > $b) { // 상태
    $wr_label = '<div class="label-cap bg-blue">예정</div>';
    $wr_icon = '<span class="tack-icon bg-blue">'.$a.'~'.$c.'</span>';
} else if($is_lock) {
    $wr_label = '<div class="label-cap bg-red">Lock</div>';
} else if($a <= $b && $c >= $b) {
    $wr_label = '<div class="label-cap bg-orange">진행</div>';
    $wr_icon = '<span class="tack-icon bg-orange">'.$a.'~'.$c.'</span>';
} else if($a < $b && $c < $b){
    $wr_label = '<div class="label-cap bg-green">종료</div>';
    $wr_icon = '<span class="tack-icon bg-green">'.$a.'~'.$c.'</span>';
}

 

이렇게 해보세요 ~~

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

답변에 대한 댓글 4개

피라미드
2년 전
<?php echo date("m.d", strtotime($list[$i]['wr_9'])); //시작일 ?>~<?php echo date("m.d", $list[$i]['update']); //종료일 ?> 요건 맞는것 같음 요;;
메너
2년 전
감사합니다.. 원하는 답을 알려주셨어요..고맙습니다..^^
피라미드
2년 전
도움 되었다니 기쁨니다 ^^
피라미드
2년 전
둘레님께 좋아보임요 ㅎㅎ;;

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

$list[$i]['wr_9']가 날짜 형식인 듯한데

그냥

if( date("Y-m-d") < $list[$i]['wr_9']) { ..

바로 비교하시면 되지 않을까요?

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

답변에 대한 댓글 2개

피라미드
2년 전
data() 함수를 쓰시는게 좋을듯 합니다.
메너
2년 전
고수님들은 여러가지 방법을 두루 알고 계시네요.. 감사합니다.

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

여기는 이렇게....

if($is_lock) {

            $wr_label = '<div class="label-cap bg-red">Lock</div>';

            $wr_icon = '';

} ...

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

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

들레아빠

</p>

<p>$start_date = date("Y-m-d", strtotime($list[$i]['wr_9'])); // 시작일

$end_date = date("Y-m-d", $list[$i]['update']); // 종료일

$current_date = date("Y-m-d"); // 현재 날짜</p>

<p>if ($current_date >= $start_date && $current_date <= $end_date) {

    echo "현재 진행 중인 상태입니다.";

} elseif ($current_date < $start_date) {

    echo "아직 시작 전인 상태입니다.";

} elseif ($current_date > $end_date) {

    echo "이미 종료된 상태입니다.";

}

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

답변에 대한 댓글 3개

메너
2년 전
도움 주셔서 감사합니다.
들레아빠
2년 전
[code]
$start_date = date("m.d", strtotime($list[$i]['wr_9'])); // 시작일
$end_date = date("m.d", strtotime($list[$i]['update'])); // 종료일

if ($start_date > $current_date && $end_date > $current_date) {
$wr_label = '<div class="label-cap bg-blue">예정</div>';
$wr_icon = '<span class="tack-icon bg-blue">' . $start_date . ' ~ ' . $end_date . '</span>';
} elseif ($is_lock) {
$wr_label = '<div class="label-cap bg-red">Lock</div>';
} elseif ($start_date <= $current_date && $end_date >= $current_date) {
$wr_label = '<div class="label-cap bg-orange">진행</div>';
$wr_icon = '<span class="tack-icon bg-orange">' . $start_date . ' ~ ' . $end_date . '</span>';
} elseif ($start_date < $current_date && $end_date < $current_date) {
$wr_label = '<div class="label-cap bg-green">종료</div>';
$wr_icon = '<span class="tack-icon bg-green">' . $start_date . ' ~ ' . $end_date . '</span>';
}
[/code]
메너
2년 전
너무 완벽한 답을 주셨어요..잘 활용하겠습니다.
감사합니다.

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

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

로그인