2009-03-12 8 views
1

ich eine Zeichenfolge habe, wie unten erwähnt:Datumsformatierung in php

$ts = "3/11/09 11:18:59 AM"; which I have got using date() function 

Jetzt muss ich dies wie in ein lesbares Format konvertieren unter

11-Mar-2009 

Ich habe all alles versucht, Datum ()

Kann mir bitte jemand dabei helfen ??

Antwort

3

Sie müssen es in etwas konvertieren, das Sie für die weitere Formatierung verwenden können. strtotime() ist ein guter Anfang, der einen Unix-Zeitstempel ergibt. Sie können das mit strftime() dann formatieren.

strftime("%d-%b-%G", strtotime($ts)); 
+0

Dank einer Tonne .. Es funktionierte :) – gnanesh

+0

Strftime nicht – vava

+0

Wahr unter Windows funktioniert, es funktioniert auf nicht * alle * Installation. Sie können stattdessen date() verwenden, wenn Sie möchten. – soulmerge

1

Wenn Sie zunächst die Zeichenfolge der date() Funktion erhalten, dann auf Formatierung Argumente übergeben auf das Datum-Funktion statt:

date ('Ym-d')

statt Konvertieren der Zeichenfolge erneut.

EDIT: Wenn Sie den Überblick über den aktuellen Zeitstempel halten müssen, dann speichern Sie es als Zeitmarke:

 
// Store the timestamp in a variable. This is just an integer, unix timestamp (seconds since epoch) 
$time = time(); 

// output ISO8601 (maybe insert to database? whatever) 
echo date('Y-m-d H:i', $time); 

// output your readable format 
echo date('j-M-Y', $time); 

strtotime Verwendung von() ist convinient aber unessecary Analyse und Speicherung eines timerepresentation ist eine dumme Idee.

+0

Das ist keine Option, da ich auch die Zeit brauche. Nur während ich anzeige brauche ich in dem erwähnten Format – gnanesh

+0

Sie sollten das Datum in einem leicht zu benutzenden Format für den Computer selbst behalten, nicht als String. Die Rückgabe der time() -Methode ist ein guter Anfang, und dann übergeben Sie diese Variable als 2. Argument bis zum Datum() für die Formatierung. Ich werde meine Antwort aktualisieren. – jishi

0

Sie können das Datum() Funktion verwenden, um das gewünschte Format direkt zu erzeugen, etwa so:

date("j-M-Y"); 

Siehe www.php.net/date für alle möglichen Formate der Ausgabe des Datums() Funktion.

+0

Das ist keine Option, da ich auch die Zeit brauche. Nur während ich anzeige brauche ich in dem erwähnten Format – gnanesh

1

Eigentlich habe ich versucht, dies zu tun und es hat funktioniert. obwohl es Fenster mit dieser Funktion Builds -

echo date("d-M-Y", strtotime($ts)); 
+0

würde ich dies über die aktuelle Antwort empfehlen, da es auch in Windows funktioniert. –

Verwandte Themen