2015-02-07 3 views
0

나는 문서를 읽고 그것을 발견 ..CakePHP 3 - 날짜가 유효한지 확인하는 방법?

http://book.cakephp.org/3.0/en/core-libraries/time.html#comparing-with-intervals

을하지만 난이 기능 "isWithinNext"를 적용 할 수 없습니다 또는 내가 HAH을 모르고있어했다. 나는 나의 날짜가 유효한 경우, 예를 들어 알 필요가 :

내 테이블의 필드 = 23시 17분 52초 2015년 2월 6일,이 날짜는 72 시간 삼일 만료 "token_time_exp"입니다.

무엇을 사용합니까? wasWithinLast? isWithinNext? 또는 둘 다 잘못되었습니다. 죄송합니다, 이번 주에 케이크를 사용하기 시작했습니다! : D

저장 token_time_exp이 : 그것은 72 시간하고 있기 때문에

$user = $this->Users->patchEntity($user, 
         [ 
          'mail_temp' => $this->request->data['mail'], 
          'token_mail' => 12345, 
          'token_time_exp' => date("Y-m-d H:i:s") 
         ]); 

이의 오늘 토큰의 날 = 6 일 (9)이며, 그 가정 해 보자, 나는 오른쪽 ..., 그건 사실 반환 가정?

지금하고 삼일이 ..

if($users->token_time_exp->isWithinNext(3)){ 
      debug('Expired');//return true 
     }else{ 
      debug('Valid');//return false 
     } 

가 오류를 표시하지 않을 경우 나는 시험 것, 그것은 작동하지만, 내가 사용하는 방법을 모르는 것 같아 :

+0

안녕하세요, 저는 여러분이 질문을 작성하는 방법을 좋아합니다. D ...하지만 시간을 선언하는 방법을 알아야합니다. 시간 선언을 나타내는 코드와 함수 호출 방법을 보여주십시오. 오류가있는 경우 오류를 표시하는 것이 좋습니다. –

+0

Thx : D 내가 편집 할게! ^^ – TMoraes

+0

데이터를 저장하기 전에 유효성 검사를 하시겠습니까 (최대 만료 간격 = 3 일 후), 아니면 데이터베이스에서 검색 한 값을 확인하고 있습니까? (아직 만료 날짜에 도달 했습니까?) – ndm

답변

1

isWithinNext(3)을 사용하면 token_time_exp이 향후 3시와 3시 사이에 있는지 테스트하지만 사용자 token_time_exp을 저장할 때 현재 날짜로 설정하면 작동하지 않습니다.

대신 wasWithinLast(3)을 사용하거나 token_time_exp에 3 일 후에 저장해야합니다.

+0

Workss! <3 bjs .. – TMoraes

1

귀하의 isWithinNext(3) 확인 \ 의미가 없을 수도 있습니다. 데이터베이스에 5 일 간격이 있다고 상상해보십시오. 유효 기간이 2 일 후에 설정되면 3 일 동안 유효합니다. 이게 당신이 겨냥한 행동이라면, 그럼 당신의 수표는 괜찮습니다.

만료 간격을 3 일보다 길게 설정하려면 1, 2, 3, 4 또는 5 일 동안 만료되는지 여부를 신경 쓰지 마십시오. 만료일은 true 평가 적어도 한 이전 (< now)에서 초 또는

!$user->token_time_exp->isFuture() 

인 경우 만료일 현재 날짜 같을 때 대신 true 평가

$user->token_time_exp->isPast() 

를 사용 거라고 또는 적어도 1 세 이상이어야합니다. 과거를 cond (<= now).

+0

이러한 함수 "isFuture"또는 "isPast"는 설명서에서 찾지 못했습니다 .. 케이크 2.x입니까? – TMoraes

+0

@ ThiagoMoraes 그들은 Carbon **에 의해 제공되며 (https://github.com/briannesbitt/Carbon#comparison), \ Cake \ I18N \ Time은 연장됩니다. 나는 당신의 질문을 오해 하듯이 나중에 내 대답을 삭제할 것입니다. – ndm

+0

nahh .. np 남자, 당신은 나를 도와주고 있습니다 :) – TMoraes

관련 문제