2014-04-10 5 views
1

유닉스 타임 스탬프 입력 값이 있습니다. 입력이 올바른 타임 스탬프 형식인지 여부를 확인해야합니다. 현재 다음을 사용하고 있습니다 :codeigniter unix timestamp validate

필자는 여러 가지 테스트 케이스에서 이것을 확인했지만 실패했습니다. 그게 맞습니까? 유닉스 타임 스탬프 형식인지 아닌지를 확인하는 다른 방법이 있습니까? 보다

'Y-m-d H:m:s' 
^ ^

기타는 꽤 의미가 검증이다 : 당신은 당신이 개월 분을 교체 한 다른 날짜와 비교하기 때문에

+0

시도 'Ymd 일수 같은 두 날짜 또는 뭔가 사이에 떨어질 경우 확인할 수있는 기대하고 무슨 일을 알고 있다면 그래서 당신이 할 수있는 최선의 검증

$currenttime = $_POST['unixdate']; //input unix timestamp if((int)$currenttime == $currenttime && is_numeric($currenttime)) { 

같은입니다 H : 나는 : s' –

답변

0

귀하의 검증이 잘못되었습니다. 유닉스 타임 스탬프는 숫자 일 뿐이다 (당신이 엄격하다면 정수이다). 이런 식으로 뭔가가 충분해야한다 : 경과 시간 (초)을 나타내는 정수는

$currenttime = filter_input(INT_POST, 'unixdate', FILTER_VALIDATE_INT); 
if($currenttime===false){ 
    // Invalid 
} 

귀하의 방법은 출생 ;-)

1

I 타임 스탬프의 날짜를 계산하기 위해 노력하여 나이를 확인하는 것처럼입니다 신기원. 당신은 당신이 타임 스탬프가

$startDate = '2014-10-04'; 
$endDate = '2013-10-04'; 

if((strtotime($currentDate) > strtotime($startDate)) && (strtotime($currentDate) < strtotime($endDate))) { 
    //Is valid 
}