How to Test a Date for Validity

Needed a function to test if a date was valid in PHP. This function does that but it also requires an expected date format.

function isValidDate($date, $expectedFormat = 'Y-m-d'){
        $t = strtotime($date);
        if($date == date($expectedFormat, $t)){
                return true;
        }
        return false;
}

Example

var_dump(isValidDate('2016-12-06'));
var_dump(isValidDate('12-06-2016'));
var_dump(isValidDate('12-06-2016', 'm-d-Y'));
var_dump(isValidDate('not a date'));

Output

bool(true)
bool(false)
bool(true)
bool(false)