Garden\Schema::validateDatetime PHP Method

validateDatetime() protected method

Validate a date time.
protected validateDatetime ( &$value, array $field, Validation $validation ) : boolean
$field array The field definition.
$validation Validation The validation results to add.
return boolean Returns true if {@link $value} is valid or false otherwise.
    protected function validateDatetime(&$value, array $field, Validation $validation)
    {
        $validType = true;
        if ($value instanceof \DateTime) {
            $validType = true;
        } elseif (is_string($value)) {
            try {
                $dt = new \DateTime($value);
                if ($dt) {
                    $value = $dt;
                } else {
                    $validType = false;
                }
            } catch (\Exception $ex) {
                $validType = false;
            }
        } elseif (is_numeric($value) && $value > 0) {
            $value = new \DateTime('@' . (string) round($value));
            $validType = true;
        } else {
            $validType = false;
        }
        return $validType;
    }