Avoid calling expensive methods before checking if we need to

There’s no need to create the full $record structure before checking for handlers. This can be called inside a loop, and Datetime::createFromFormat() is very expensive.
the BC break should be clearly documented though