YYYY-MM-DD 형식의 mysql 쿼리에서 날짜가 반환됩니다.날짜가 현재 날짜보다 3 개월 이상 경과했는지 확인하는 방법
이번 달의 내역이 인 경우 인 지 3 개월 이상인지 확인해야합니다.
나는 현재이 코드를 가지고 :
$passwordResetDate = $row['passwordReset'];
$today = date('Y-m-d');
$splitCurrentDate = explode('-',$today);
$currentMonth = $splitCurrentDate[1];
$splitResetDate = explode('-', $passwordResetDate);
$resetMonth = $splitResetDate[1];
$diferenceInMonths = $splitCurrentDate[1] - $splitResetDate[1];
if ($diferenceInMonths > 3) {
$log->lwrite('Need to reset password');
}
이 가진 문제가
, 그 현재 월 01의 월 값을 제공, 예를 들어, 월, 그리고 $resetMonth
는 한 달에주는 11 월의 경우 값이 11이면 $differenceInMonths
이 -10이되어 if() 문을 통과하지 않습니다.
전년도에 몇 달 동안이 문제를 해결하려면 어떻게해야합니까? 또는이 전체 루틴을 수행하는 더 좋은 방법이 있습니까?
그냥 사용하여 쿼리 일의 차이를 선택할 수 있습니다 [DATEDIFF()] (http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions. html # function_datediff) – Anigel
당신은 PHP에서 이것을해야만한다면 (편집 : :) DATEDIFF()를 사용하여 MySQL에서이 작업을 수행 할 수 있지만 PHP에서 수행해야한다면 : http://stackoverflow.com/questions/2040560/how-to-find -none-of-two-dates-between-php를 사용하여 – Askanison4