Also ich sehe im Originaldatensatz am Ende ein +2 stehen, was Deinen 18 Uhr entspricht! Die wirst Du wohl berücksichtigen müssen. Ich kenne PHP nicht gut genug, aber schau mal nach date_default_timezone_set() und date_default_timezone_get().
Diese Funktion erwartet einen String mit einem Datum im Englischen Datumsformat und versucht, dieses Format in einen Unix-Timestamp (die Anzahl der Sekunden seit dem 01. Januar 1970 00:00:00 UTC) zu übersetzen. Die Angabe wird relativ zum im now-Parameter übergebenen Timestamp oder der aktuellen Zeit, sofern now nicht übergeben wurde, ausgewertet.
now + 2 entspricht damit 18 Uhr. Wenn du die aktuelle Zeitzone auf UTC setzt sollte die Uhrzeit passen (MEZ + 1 und Sommerzeit).
Meiner Meinung nach ist der Bug in der Auswertung. Das Ausgangsformat ist nach ISO 8601 richtig, +02:00 bedeutet MESZ Sommerzeit relativ zur UTC. Das Skript welches das einliest müsste $platz->Spielvon relativ zur UTC befüllen, nicht relativ zur lokalen Zeit. Dadurch bekommst du noch einmal 2 Stunden obendrauf ;-)