PHP Zeit aus Objekt verkürzt ausgeben...

D

dreivier

Gast
Moin,

aus einer API (jSON) Objekt erhalte ich eine Zeit, das hier

PHP:
$isobj[$i][0] = $last_rain[$i]->started_at;

gibt mir diese Ausgabe:
2017-08-08 11:43:56 +0200

Wie kann ich jetzt am schnellsten und einfachsten die Ausgabe so ausschauen lassen?
11:43:56

Ein Beispiel wäre sehr hilfreich da ich kein Profi bin.

Danke!
 
Zuletzt bearbeitet:
Versuchs mal mit
PHP:
$isobj[$i][0] = date('H:i:s', strtotime($last_rain[$i]->started_at));
 
@Homi...
Nein ist kein String und ja ich weise es zu aber du siehst ja was gemeint ist, der Inhalt von $last_rain ist ja der den ich ändern möchte..

@Spor...
Da kommt ein Fehler: Warning: date() expects at most 2 parameters, 3 given in..

Korrigiere da kommt: 00:00:00 als Ausgabe
 
dreivier schrieb:
Da kommt ein Fehler: Warning: date() expects at most 2 parameters, 3 given in..
Code:
var_dump( date('H:i:s', strtotime( "2017-08-08 11:43:56 +0200" ) ) );

=> string '09:43:56' (length=8)
 
zitiere mich selbst:
Ein Beispiel wäre sehr hilfreich da ich kein Profi bin.

@nix für ungut Yuri ... aber was du mir jetzt sagen willst verstehe ich absolut nicht...trotzdem danke für den Versuch mir zu helfen...
 
Wenn 00:00:00 als Ausgabe kommt, dann war started_at tatsächlich ein Objekt, kein String, und du musst es so machen (angenommen, es ist ein DateTime und nichts Spezielles):

Code:
$isobj[$i][0] = $last_rain[$i]->started_at->format('H:i:s');
 
strtotime ist übrigens Suboptimal (Vulgo: Maximalscheiße), weil es den "Y2k38-Bug" hat.
Habe ich mir auch "letztens" erst die Karten in alten Code mit dem Dreck gelegt.
Besser date_parse verwenden, noch besser die DateTime Klasse.

Bin übrigens noch nicht so fest davon überzeugt, dass das JSON-Objekt eine DateTime Klasse zurückliefert - wäre aber grundsätzlich möglich, wenn sich da noch ein Wrapper drum kümmert...

Also entweder wie im Beispiel über mir oder spätestens so:

PHP:
$isobj[$i][0] = DateTime::createFromFormat("Y-m-d H:i:s T", $last_rain[$i]->started_at)->format("H:i:s");

Grüße
 
Zurück
Oben