Wie erstellen DateTime-Objekt aus string in symfony2/php

In eine DB-Tabelle habe ich mehrere Felder mit datetime als Feld-Typ. Also ich muss die Persistenz der Daten nur als Datum-Zeit-Objekts.

Aus einem Formular bekomme ich Datum, Zeit as string wie

2012-10-05 17:45:54

Nun, Wann immer ich anhalten, meine Person bekomme ich folgenden Fehler:

Fatal error: Rufen Sie an eine member-Funktion format() on a non-object in
..\DateTimeType.php auf der Linie 44

Habe ich versucht mit

$protocol->setStartedAt(strtotime($post['started_at']));

oder

$from = \DateTime::createFromFormat('yy-mm-dd hh:mm:ss', $post['started_at']);
$protocol->setStartedAt($from);

oder nur

$from = new \DateTime($post['started_at']);
$protocol->setStartedAt($from);

Dem letzten code funktioniert, aber es nicht verwendet die timestamp übergeben als argument, sondern bekommt nur die aktuelle Zeit.

Irgendwelche Ideen?

  • Sind Sie sicher, dass $post['started_at'] enthält, was Sie es haben wollen? Ist es nicht $_POST['started_at']?
  • Auch DateTime Objekt und Methoden Ausnahmen werfen Fehler. Bekommst du keine von denen? Versuchen Sie es mit try/catch.
Schreibe einen Kommentar