PHP: DATETIME, die in der Reihe als Objekt. Wie echo
Hoffe, der Titel ist nicht allzu kryptisch. Ich habe ein array mit einem DATETIME-Objekt und ich bin nur versuchen, herauszufinden, wie echo dieser auf eine Seite.
["created"]=> object(DateTime)#3 (3) { ["date"]=> string(19) "2010-10-22 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London"
Kann mir jemand helfen?
versucht, date (), aber bekommen:
Warning: date() expects parameter 2 to be long, object given in C:\
jede Hilfe am meisten geschätzt werden,
Jonesy
- echo ((array)myArray["created"])['Datum']; oder u können ->format(DateTime::DATE_FORMAT_CONST);
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://www.php.net/manual/en/datetime.format.php
Formatierung:
http://www.php.net/manual/en/function.date.php
Verwenden
DateTime::format()
. Die Maske syntax ist identisch zudate()
's.Füge ich dieser Antwort, auch wenn ich nicht sicher bin, es beantwortet nämlich die Frage (und die beste Antwort ist schon da, obwohl),
aber ich konnte Sie nicht finden viel andere Orte, an denen die oben genannten format (
date
/timezone_type
/timezone
) erwähnt wird.Wenn Sie das Datum übersetzt von Objekt zu array
var_export
DateTime::__set_state(array(
'date' => '2017-12-05 11:58:25.428595',
'timezone_type' => 3,
'timezone' => 'US/Pacific',
))
json_encode
{"date":"2017-12-05 11:57:07.938671","timezone_type":3,"timezone":"US\/Pacific"}
können Sie wieder die
DateTime::__set_state
Magie oben genannten Verfahren zum konvertieren Sie Sie erneut, um eine DateTime Objekt.Nicht sicher, wie Sie Sie hier
__set_state
konnte bidirektional, aber es ist die Magie.Ich konnte nicht finden die Dokumentation.
Aber Sie können es hier testen:
http://sandbox.onlinephpfunctions.com/code/0a18e6937e7d4373beb91713f2e6e5f75f9af3e2
Wenn es eine tatsächliche php5 DateTime Objekt dann können Sie die
format
Methode echo