2011-12-16 2 views
1

GET 요청을 통해 DATETIME 값을 전달하고 수신 된 날짜가 올바른 형식이고 유효한지 확인해야합니다. 전송 측에서 UNIX_TIMESTAMP를 사용하여 DATETIME 값을 변환하여 수신 측에서 쉽게 확인한 다음 FROM_UNIXTIME을 통해 DATETIME으로 다시 변환한다는 것을 알았습니다.DATETIME 값의 형식이 올바른지 유효한 날짜인지를 검증하는 표준 방법이 있습니까?

그렇지 않으면 수신 측에서 정규식을 사용하여 DATETIME 형식의 유효성을 검사 한 다음 날짜가 checkdate()로 유효한지 확인해야하는 것으로 보입니다. 이것은 공통적 인 문제인 것처럼 보입니다. 따라서이 변환을 포함하지 않는 방법이 있는지 궁금합니다.

답변

2

DateTime 클래스 생성자는 유효한 datetime 문자열을 허용합니다. 유효하지 않은 datetime이 전달되면 예외가 발생합니다. DateTime 개체가 있으면 원하는 방식으로 서식을 지정할 수 있습니다. DateTime::format

$date = 'bad date string' 

try { 
    $obj = new DateTime($date); 
    echo 'valid date: '. $obj->format('Y-m-d'); 
} catch (Exception $e) { 
    echo 'invalid date'; 
} 
관련 문제