RFC-3339, wie eine "dateTime" aus
Ich versuche zu formatieren, Datum bestanden aus einem google plus-Api-das ist wie die Anleitung sagt, im RFC 3339 format:
VERÖFFENTLICHT-> datetime-> Der Zeitpunkt, zu dem diese Aktivität wurde zunächst veröffentlicht. Formatiert als RFC-3339-timestamp.
Also von der php-Dokumentation habe ich gefunden, dass:
DATE_RFC3339
Gleiche wie DATE_ATOM (seit PHP 5.1.3)
Ist und dass beide format sind so etwas wie:
"Y-m-d\TH:i:sP'
Eigentlich ist die Ausgabe der Google-api ist so etwas wie:
2014-01-22T10:36:00.222 Z
Wenn ich versuche zu starten Befehl wie:
$date = DateTime::createFromFormat("Y-m-d\TH:i:sP", $activity['published']); //$activity['published'] contain the date
Habe ich immer FALSE
Rückgabe.
Meiner Meinung nach liegt das problem in den letzten Teil
.222Z
jeder Vorschlag wird zu schätzen wissen, bevor Sie schneiden es von einigen elementaren Ansatz...
- Oder mit standard -
date()
Methode:date( DATE_RFC3339, $activity['published'] );
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht zu verwenden
DateTime::createFromFormat()
für standard-Eingänge. Verwenden Sie einfach:Aber wenn Sie immer noch darauf bestehen, zu verwenden createFromFormat(), dann verwenden Sie richtige format, mit Mikrosekunden:
Gibt es einen trick. Eine spezielle Konstante DATE_RFC3339 gemacht wurde, um zu helfen, aber es funktioniert nicht, wenn das Letzte Zeichen "Z" - das ist völlig in Ordnung für rfc3339 format. Eigentlich JSON-format würde angeben wie:
Aber mit diesem DATE_RFC3339 erhalten Sie eine Fehlermeldung von PHP:
Deshalb müssen wir angeben, format manuell:
DateTime
Mit Carbon: