2016-06-11 5 views
1

나는 날짜와 시간을 비교하는 것에 대해 여러 곳을 읽었지만 아직도 어떻게 도와 줄 수 있는지 알지 못한다.오늘 날짜와 날짜를 비교하여 작성한 날짜

회원 데이터베이스를 구축하는 중입니다. 사용자가 계정을 등록하면 SQL에 날짜 시간이 삽입되고 멤버십은 지난 1 년 동안 만 삽입됩니다. 그래서 사용자는 등록 된 사용자로부터 1 년 동안 페이지에 액세스 할 수 있습니다.

읽을 때 표시되지만 사용자가 아직 등록 된 사용자로부터 액세스 권한이 있는지 확인할 수 있는지는 확실하지 않습니다. (365 일) 인 올바른 방법의 모든 도움이나 포인트

$today = date("Y-m-d H:i:s"); 
$expire = $isCreated; //from db 

$today_time = strtotime($today); 
$isCreated_time = strtotime($isCreated); 

if ($isCreated_time < $today_time) { 
/* has access*/ 
} else { 
/* no access */ 
} 

감사의가.

+0

정말 문제를 이해하지 못합니다. – Strawberry

답변

2

필요한 것은 생성 일과 오늘 날짜의 차이를 확인하고 그 차이가 회원 액세스 권한을 부여하는 데 365 일을 초과하지 않는지 확인하는 것입니다.

이제
function howLong($created) { 
    $now = time(); // or your date as well 
    $your_date = strtotime($created); 
    $datediff = $now - $your_date; 
    return floor($datediff/(60*60*24)); 
} 

확인할 수 있습니다 :

$now = time(); 
$your_date = strtotime($isCreated); 
$datediff = $now - $your_date; 
echo floor($datediff/(60*60*24)); 

그래서 함수 내에서 위하고 다음과 같이 될 것입니다 :

는 PHP에서 두 날짜 사이의 일을 찾을 수있는 기능입니다

if (howLong($isCreated) > 365) 
    echo "Membership Over"; 
else 
    echo "Membership Active"; 
1

이 코드는 $isCreated이 실제 등록 기관보다 1 년 이상 많은 경우 작동합니다. 제출 날짜. 예를 들면 다음과 같습니다.

오늘 12-06-2016에 등록하십시오. $expire12-06-2017으로 저장해야합니다.

그러면 $ 만료 날짜가 오늘 날짜보다 높게 설정되었는지 확인할 수 있습니다. 정확도는 1 년입니다.

+0

그래, 어떻게 사용자를 도우려는거야? –

관련 문제