Nun, Dein Code sollte schon zu Deinen Daten passen. Und mit einer ordentlichen Fehlerbahandlung hättest Du sofort gesehen was los ist. Ich hab das mal für Dich gemacht:
date_default_timezone_set("europe/berlin");
if( ! $start = DateTime::createFromFormat("H:i", "--") ){
print_r( DateTime::getLastErrors() );
}
und das gibt aus
Array
(
[warning_count] => 0
[warnings] => Array
(
)
[error_count] => 3
[errors] => Array
(
[0] => A two digit hour could not be found
[2] => Data missing
)
)
MFG und keine Ursache, für Dich tat ich es gerne.