if 문 안에 날짜 기간 넣는 방법 문의 드립니다.
본문
안녕하세요. 고수님들
초보자가 질문 올립니다.
아래의 조건으로 조건문을 만들어서 상태를 표현하려고 하는데요..
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']); //종료일 ?>
무식하게 위에처럼 넣었더니 안 되네요.. 도움 주시면 고맙겠습니다.
$a = date("Y-m-d", strtotime($list[$i]['wr_9'])); // 시작일
$b = date("Y-m-d"); // 현재시간
$c = date("Y-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">시작일~종료일</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>';
} else if($a < $b && $c < $b){
$wr_label = '<div class="label-cap bg-green">종료</div>';
$wr_icon = '<span class="tack-icon bg-green">시작일~종료일</span>';
}
답변 4
$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>';
}
이렇게 해보세요 ~~
$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"); // 현재 날짜
if ($current_date >= $start_date && $current_date <= $end_date) {
echo "현재 진행 중인 상태입니다.";
} elseif ($current_date < $start_date) {
echo "아직 시작 전인 상태입니다.";
} elseif ($current_date > $end_date) {
echo "이미 종료된 상태입니다.";
}
여기는 이렇게....
if($is_lock) {
$wr_label = '<div class="label-cap bg-red">Lock</div>';
$wr_icon = '';
} ...
$list[$i]['wr_9']가 날짜 형식인 듯한데
그냥
if( date("Y-m-d") < $list[$i]['wr_9']) { ..
바로 비교하시면 되지 않을까요?