Ziehe einen Zeitstempel aus einem XML-Feed mit PHP aber scheinen viele Stellen zu sein
-
21-09-2019 - |
Frage
Ich ziehe einen Zeitstempel von einem Feed und es gibt 12 Stellen (1269088723811). Als ich es konvertieren, es kommt als
1901.12.13 20.45.52,
aber wenn ich den Zeitstempel setzen in http://www.epochconverter.com/ es kommt wie
Sa, 20. März 2010 00.38.43 GMT, die die richtige Zeit ist.
epochconverter.com erwähnt, dass es vielleicht in Millisekunden so dass ich das Skript geändert habe davon kümmern mit
$mil = $timestamp;
$seconds = $mil / 1000;
$date = date('Y-m-d H:i:s', date($seconds));
, aber es wandelt noch das Datum falsch, 1970.01.25 20.31.23.
Was mache ich falsch?
Lösung
Dies scheint eine getrimmter micro () ausgegeben werden. Das einzige, was Sie scheinen falsch zu tun, ist mit date($seconds)
anstelle des rohen $seconds
. Versuchen
$date = date('Y-m-d H:i:s', $seconds);
Andere Tipps
$xml = new SimpleXMLElement('<foo><a>1269088723811</a></foo>');
echo date('Y-m-d H:i:s', (float)$xml->a / 1000);
und
$xml = new SimpleXMLElement('<foo><a>1269088723811</a></foo>');
$ts = substr($xml->a, 0, -3);
echo date('Y-m-d H:i:s', $ts);
beide Druck 2010-03-20 07:38:43
(auf meiner Europe / Berlin-Maschine)