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

가게 정보 중 '영업 중' 표시되게 하기 채택완료

로컬그누 6년 전 조회 3,959

</p>

<p> </p>

<p>if(strtotime($open) < strtotime($now) && strtotime($close) > strtotime($now)){  

    echo 'open'; 

} else { 

    echo 'close'; 

}</p>

<p> </p>

<p>

 

위와 같이 현재 시간이 오픈 후, 마감 전 일때는 open 이라는 글이 뜨게 할려고 하는데요. 

문제는 마감시간이 새벽 2시일 경우 현재시간 오후 7시보다 작기 때문에 close 라고 뜹니다.

이럴때는 어떻게 해야 하나요?

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

답변 2개

채택된 답변
+20 포인트
세크티
6년 전

$open $close 가 매 open close 때마다 now()로 저장된게 아니고 시간만 고정으로 저장해 놓으셨다면

 

$close_temp = $close;

if(str_replace(":","",$close)

    $close_temp = strtotime(strtotime($close). ' +1 day');

}

 

if(strtotime($open) < strtotime($now) && strtotime($close_temp ) > strtotime($now)){

    echo 'open';

} else {

    echo 'close';

}

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

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

플래토
6년 전

&& 가 아닌 || 로 사용해보세요

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

답변에 대한 댓글 1개

플래토
6년 전
영업시간이 저녁에 시작해서 새벽에 끝나는경우는
범위지정이 의미가 없습니다.


시간만 체크하는경우

종료시간보다 작거나
시작시간보가 크거가
이렇게 체크가 되어야죠

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

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

로그인