Datum-Format anders formatieren

Ändere den Datentyp in der Datenbank mal in den Typ date !
Und dann versuch es mal mit meinem Echo Befehl. Geht einwandfrei!
PHP:
echo substr($row["datum"], 8, 2) . "." . substr($row["datum"], 5, 2). "." .substr($row["datum"], 0, 4);
 
PHP:
$DATUM = "20030729134021";
$die_ersten_vier_zeichen = substr($DATUM, 0, 4);
// etc.
Wenn du doch aber das Datum als timstamp vorliegen hast, benutze date().
 
@Frigorn:

Speicher die Daten so in der Datenbank ab:
PHP:
//wird der Datensatz gespeichert
$sql = " INSERT INTO daten SET
datum=CURDATE(),
zeit=CURTIME()";
Jetzt hast Du die Daten in folgendem Format : yyyy-mm-dd.
Und jetzt kannst Du mittels meiner Echo-Funktion das Datum formatieren!

Gruß Maximus!
 
Zuletzt bearbeitet:
hmmm, ich möchte es aber im Tag, Monat Jahr, Stunde, Minute, Sekunde Format. (ist irgendwie schöner uns sinnvoller)
 
Hast Du doch auch!
PHP:
CURDATE()
gibt das aktuelle Datum zurück und
PHP:
CURTIME()
die aktuelle Uhrzeit.

Hier der Code um das ganze anzuzeigen:

PHP:
print "geschrieben am ";
echo substr($row["datum"], 8, 2) . "." . substr($row["datum"], 5,2). "." .substr($row["datum"], 0, 4);
print " um ".$row['zeit']." Uhr";
Natürlich mußt Du vorher noch die Verbindung zur Datenbank herstellen und per SELECT die Abfrage machen.
;)
Gruß Maximus
 
Zuletzt bearbeitet:
Habs:

PHP:
$DATUM = "20030729134021";
$jahr = substr ($DATUM,0,4);
$monat = substr ($DATUM,4,2);
$tag = substr ($DATUM,6,2);
$stunde = substr ($DATUM,8,2);
$minute = substr ($DATUM,10,2);
$sekunde = substr ($DATUM,12,2);
echo "$tag.$monat.$jahr $stunde:$minute:$sekunde";
 
Original geschrieben von Memfis
In der Datenbank habe ich "TIMESTAMP" ausgewählt.

Original gescrieben von mir
Wenn du doch aber das Datum als timstamp vorliegen hast, benutze date().

Noch mal der Vollständigkeit halber :-)
Was du (Memfis) da hast, ist aber gar kein Timestamp (hab ich nicht aufgepasst). Bei einem Timestamp handelt es sich um die Anzahl Sekunden seit dem 01.01.1970 um 00:00. Das klingt kompliziert, ist aber wenn du Daten (vor allem inklusive Uhrzeit) speichern willst, das Beste, was dir passieren kann. Die Datumsfunktionen von PHP arbeiten auch mit Timestamps, allen voran date().
date() formatiert dir den Timestamp in allen erdenklichen Formen, z.B.
PHP:
$stamp=time();
echo date("d.m.Y", $stamp);
gibt "30.07.2003" aus. Du kannst die Art der Formatierung frei wählen, einfach mal den obigen Link klicken.
Die Formatierung per substr() ist nur mäßig flexibel. Wenn du doch dein Datum mit dem Feldtyp DATE in der DB speicherst (wie Maximus vorschlägt), kannst du es auch von mySQL formatieren lassen (siehe mein erstes Post in diesem Thread), wobei du dich dann allerdings bereits in Gebiete vorwagst, die mitunter schon als schlechter Stil verschriehen sind (die Datenbank etwas machen lassen, was man auch mit PHP hätte machen können - ohne die DB zu belasten).

Ich unterstütze hiermit den Antrag von leuchte: timestamps für alle :-)
 
Hmm, hab deine Posting net gan kapiert jetzt (arbeite aber auch schon fast 8 Stunden, das entschuldigt :-)
Findeste meine ösung jetzt gut oder schlecht ? :confused:
 
Zurück