2016-04-07 18 views
0

Ich habe eine Barebone Joomla Version (also nur reines PHP mit den Joomla cms und Tabellennamen). Und das veröffentlichte Datum eines Artikels wird wie folgt gespeichert:Konvertiere eine Zeichenkette in das richtige Datumsformat (Joomla Format)

2016-04-06 14:38:52 

Wie kann ich konvertieren diese Zeichenfolge in so etwas wie:

6 April 2016 

Also die Zeit ignorieren und nur das Datum im richtigen Format verwenden.

Wie kann dies mit PHP (keine Joomla eingebauten Funktionen) getan werden?

Antwort

2

Sie können es mit date und strtotime Funktion von PHP

$t="2016-04-06 14:38:52"; 
echo date('j F Y', strtotime($t)); 

F: - Eine vollständige Textdarstellung eines Monats, wie Januar oder März

j: - Tag des Monats ohne führende Nullen

Y: - Eine vollständige numerische Darstellung eines Jahres, 4 Stellen

OUTPUT

6. April 2016

+1

Danke, das ist was ich erforderlich. – twan

1

Sie es auch in objektorientierte Art und Weise tun:

//create a DateTimeObject 
$dateTime = new DateTime($date); 

echo $dateTime->format('j F Y'); //output: 6 April 2016 

Erklärung der j F Y:

j - Day of the month without leading zeros 
F - A full textual representation of a month, such as January or March 
Y - A full numeric representation of a year, 4 digits 
+0

Bitte fügen Sie mehr zu Ihrer Antwort, die Sie im Grunde kopiert eingefügt @ Saty Antwort – SuperDJ

+0

Es ist nicht kopieren, @Saty hat falsche Reihenfolge der Buchstaben im ersten Argument der Funktion "Datum". – aslawin

+0

Das Problem war, dass Ihre Antwort vor dem Update nichts Neues hinzugefügt hat. Die OP hätte die Reihenfolge der Buchstaben anpassen können, nachdem sie herausfanden, was sie repräsentieren – SuperDJ

1

Wir können dies auch die DateTime Klasse native PHP tun.

$date = "2016-04-05 16:00:00"; 
$odate = DateTime:createFromFormat('Y-m-d H:i:s', $date); 

beachte, dass ich die createFromFormat Methode des DateTime Objekt zu initiieren. Dies verhindert, dass Daten wie 2016-04-05 falsch interpretiert werden. Dieses Datum könnte genauso gut der 4. Mai sein.

nun zur Ausgabe

// Output 
echo $oDate->format('j F Y'); 

F - Eine vollständige Textdarstellung eines Monats, wie Januar oder März

j - Tag des Monats ohne führende Nullen

Y - Eine vollständige numerische Darstellung eines Jahres, 4 Ziffern

+0

Ihre Lösung ist auch richtig und abwechselnd beide Antworten !! – Saty

Verwandte Themen