두 날짜의 일, 시간 및 분 차이가 필요합니다. 현재 날짜 (NOW ()) 및 end_date. 그리고 조금 다르게 작동하는 두 개의 별도 쿼리에서 필요합니다.
첫 번째 항목은 단일 열로 다음 형식으로 반환해야합니다.
-------------------------
| time_left |
-------------------------
| x days x hours x min |
-------------------------
두 번째 항목은 end_date가 현재 날짜를 초과 한 경우 각 열에 대해 0을 반환하도록 세 개의 개별 열로 반환해야합니다.
-------------------------------------------
| days_left | hrs_left | min_left |
-------------------------------------------
| x | x | x |
-------------------------------------------
이 모든 것에 대한 해결책이 있지만 끔찍합니다. 나는 누군가가 이것을 해결하는 비교적 깨끗한 방법을 찾았다 고 확신합니다. 감사합니다!
이전은 정확하지 않아 1 시간이되어야하는 시간과 1 일 3 시간 차이를 표시했습니다.
이것은 언제나 정확해야합니다
SELECT
@diff:=ABS( UNIX_TIMESTAMP("2014-05-09 21:24:25") - UNIX_TIMESTAMP() ) ,
CAST(@days := IF(@diff/86400 >= 1, floor(@diff / 86400 ),0) AS SIGNED) as days,
CAST(@hours := IF(@diff/3600 >= 1, floor((@diff:=@diff-@days*86400) / 3600),0) AS SIGNED) as hours,
CAST(@minutes := IF(@diff/60 >= 1, floor((@diff:=@diff-@hours*3600) / 60),0) AS SIGNED) as minutes,
CAST(@diff-@minutes*60 AS SIGNED) as seconds;
설명 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다