PHP DateTime 비교 종료 날짜를 번역하면 다음과 같습니다.
P粉920835423
P粉920835423 2023-07-31 15:48:47
0
1
491
<p>오늘 날짜 시간을 데이터베이스의 마감일과 비교하여 버튼을 비활성화하려고 하는데 문제가 있습니다. 조건을 만들었지만 1일 기한에는 작동하지 않습니다. 예: 2023-07-31 00:00:00 vs. 2023-07-31 00:00:00. <br /><br />제가 시도한 코드는 다음과 같습니다. </p><p><br /></p> <pre class="brush:php;toolbar:false;">// 변수 // $request_project->start_date (사용자가 정의한 날짜/시간 데이터 유형의 시작 날짜 포함) // $request_project->end_date (사용자가 정의한 날짜/시간 데이터 유형의 마감일 포함) $startDate = new DateTime($request_project->start_date); $endDate = new DateTime($request_project->end_date); $startDateTime = 날짜('월-일') ' 00-00-00'; $endDateTime = 날짜('월-일') ' 23-59-59'; $startDateString = $startDate->format('Y-m-d H:i:s'); $endDateString = $endDate->format('Y-m-d H:i:s');</pre> <p>그래서 사용자가 정의한 마감일이 오늘 날짜 시간보다 작거나 같은지 비교하고 싶습니다. 그렇다면 버튼이 활성화되고 btn-primary 클래스를 가지며, 그렇지 않으면 비활성화된 속성이 추가되고 btn-primary btn -secondary로 변경됩니다. </p> <pre class="brush:php;toolbar:false;"><?php if($endDateString <= $endDateTime) {?> <a href="#" class="btn btn-primary btn-hover w-100 mt-2" onclick="doSomething()">지금 신청 <i class="uil uil-arrow-right"></i></a> <?php } else { ?> <a href="#" class="btn btn-secondary btn-hover w-100 mt-2 비활성화됨" onclick="doSomething()">지금 신청하기 <i class="uil uil-arrow-right"> </i></a> <?php } ?> <a href="#" class="btn btn-soft-warning btn-hover w-100 mt-2 북마크" id="<?=$request_project->id?>"><i class="uil uil-bookmark"> </i> 북마크 추가</a></pre> <p>else 코드 블록을 실행하는 대신 end_date가 만료된 경우에도 항상 if 코드 블록을 실행합니다. </p>
P粉920835423
P粉920835423

모든 응답(1)
P粉720716934

당신이 겪고 있는 딜레마는 종료 날짜를 현재 날짜-시간과 비교하는 방법과 관련이 있는 것 같습니다. 문제는 date() 함수를 사용하여 $endDateTime 변수를 구성하는 방식에 있습니다.

코드에서 date() 형식으로 'Y-m-d'를 사용하는데, 이는 시간 없이 연, 월, 일만 포함한다는 의미입니다. 그런 다음 '23-59-59'를 날짜에 연결하여 날짜/시간 형식이 잘못되었습니다.

이 문제를 해결하려면 비교하기 전에 전체 시간(시, 분, 초)을 올바른 형식으로 포함하도록 $endDateTime 변수를 수정해야 합니다. 다음과 같이 'Y-m-d H:i:s' 형식의 date() 함수를 사용하여 이 작업을 수행할 수 있습니다.

으아아아

이제 $endDateTime은 올바른 형식을 가지며 비교는 예상대로 작동합니다.

업데이트된 코드는 다음과 같습니다.


으아아아

이 조정을 통해 이제 종료 날짜가 오늘 날짜 이후일 때 코드가 버튼을 올바르게 비활성화해야 합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿