/**
* Examines getLastErrors() to see what errors to report.
*
* Two kinds of errors are important: anything that DateTime
* considers an error, and also a warning that the date was invalid.
* PHP creates a valid date from invalid data with only a warning,
* 2011-02-30 becomes 2011-03-03, for instance, but we don't want that.
*
* @see http://php.net/manual/time.getlasterrors.php
*/
public function checkErrors() { $errors = \DateTime::
getLastErrors();
if (!
empty($errors['errors'
])) { $this->errors =
array_merge($this->errors,
$errors['errors'
]);
} // Most warnings are messages that the date could not be parsed
// which causes it to be altered. For validation purposes, a warning
// as bad as an error, because it means the constructed date does
// not match the input value.
if (!
empty($errors['warnings'
])) { $this->errors
[] = 'The date is invalid.';
}