Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Datumsformat MySQL Antworten
Datumsformat MySQL

Burner
Otto-Normal-Poster


Beiträge: 46


Hallo zusammen,

ich bastle gerade ein Gästebuch. Das Script funktioniert auch schon soweit. Ich speichere die Einträge in einer SQL Datenbank. Nun meine Frage. Zur Zeit wird das Datum folgendermaßen ausgegeben:

Name schrieb am 2002-06-29 18:22:07

Nun möchte ich aber das das Datum in etwa so dargestellt wird:

Name schrieb am 29.06.02 um 18:22 Uhr

Kann mir da einer weiterhelfen??

Danke schon mal im voraus.

Greets Burner



---
- Die deutsche Sprache sollte sanft und ehrfurchtsvoll zu den toten Sprachen abgelegt werden, denn nur die Toten haben die Zeit, die Sprache zu lernen

Mark Twain (30.11.1835 - 21.04.1910) US-Schriftsteller

  Profil   E-Mail   Website   Editieren   Zitieren

stalkerX
Mausakrobat


Beiträge: 183


wie speicherst du denn das datum in der db? als timestamp? oder anders gefragt: in welchem format liegt das datum in der db?


---
.: Web 2.0 Entwickler & seine Notizen :.

  Profil   Website   Editieren   Zitieren

Burner
Otto-Normal-Poster


Beiträge: 46


Hi stalkerX,

nach eingabe aller Daten in das Gästebuchforumlar und klick auf den Submit Button, werden alle Daten an ein Script zum eintragen in die Datenbank weitergegeben. Dieses Script liest zu beginn das Datum und die Zeit des Servers aus.

$serverZeit=date("d.m.y H:m");

Weiter im Script werden die Daten dann an die DB weitergegeben.
$sql="INSERT INTO guestbook (datum, name, email, message)
VALUES ('$serverZeit', '$name', '$email', '$message');";


Dieses Script wird auch am Bildschirm angezeigt. Sprich es wird das angezeigt was der jeweilige User eingegeben hat. Und da stimmt alles. Datum wird folgendermaßen angezeigt 30.06.2002 und die Zeit 16:00.

Wenn ich dann in die Komplette ansicht wechsel, also alle einträge anschaue, wird das Datum wieder 2002-06-30 und die Zeit 16:00:00 angezeigt.
Unter phpMyAdmin steht im Datumsfeld unter Typ Datetime.

Ich hoffe du kannst den Fehler daraus erkennen.

Danke schon mal
Greets Burner


[ Diese Nachricht wurde geändert von: Burner am 2002-06-30 16:32 ]

[ Diese Nachricht wurde geändert von: Burner am 2002-06-30 16:33 ]

---
- Die deutsche Sprache sollte sanft und ehrfurchtsvoll zu den toten Sprachen abgelegt werden, denn nur die Toten haben die Zeit, die Sprache zu lernen

Mark Twain (30.11.1835 - 21.04.1910) US-Schriftsteller

  Profil   E-Mail   Website   Editieren   Zitieren

stalkerX
Mausakrobat


Beiträge: 183


feldtyp ändern: anstatt von datetime mach char() - dann soll's gehen


---
.: Web 2.0 Entwickler & seine Notizen :.

  Profil   Website   Editieren   Zitieren

Burner
Otto-Normal-Poster


Beiträge: 46


Hallo stalkerX,

vielen Dank. Jetzt hats funktioniert. Klasse. Danke für die schnelle Hilfe.

Greets Burner

---
- Die deutsche Sprache sollte sanft und ehrfurchtsvoll zu den toten Sprachen abgelegt werden, denn nur die Toten haben die Zeit, die Sprache zu lernen

Mark Twain (30.11.1835 - 21.04.1910) US-Schriftsteller

  Profil   E-Mail   Website   Editieren   Zitieren

stalkerX
Mausakrobat


Beiträge: 183


gern geschehen


---
.: Web 2.0 Entwickler & seine Notizen :.

  Profil   Website   Editieren   Zitieren

Manticor
Quasselstrippe


Beiträge: 240


Nchteil der Sache ist, dass Du niemals mit dem Datum in MySQL rechnen kannst. Wenn das nicht nötig ist: kein Problem. Wenn nicht, einfach vor der Ausgabe das Datum mit:

$dat=split("-",$amidatum);
$datum=$dat[2].".".$dat[1].".".$dat[0];
echo $datum;

Wobei $amidatum das Datum ist, welches MySQL liefert. $dat[] ist nur ein Zwischenarray und $datum ein String mit dem deutschen Datum.


---

  Profil   E-Mail   Website   Editieren   Zitieren

stalkerX
Mausakrobat


Beiträge: 183


es wurde nicht gefragt welche nachteile es mit sich bring

wirklich am coolsten und bequemsten, am schnellsten und elegantesten wäre natürlich folgendes:
- datumsfeld in der mysql als timestamp(14) einstellen
- und arbeit der db überlassen: SELECT DATE_FORMAT(datum,'%d.%m.%Y') AS datum FROM db WHERE blabla

keep it simple!


---
.: Web 2.0 Entwickler & seine Notizen :.

  Profil   Website   Editieren   Zitieren

Manticor
Quasselstrippe


Beiträge: 240


Coole Lösung. Muss ich mir merken, kannte ich noch nicht, die Möglichkeit...


---

  Profil   E-Mail   Website   Editieren   Zitieren

Burner
Otto-Normal-Poster


Beiträge: 46


Was heißt den mit dem Datum rechnen? Was bringt mir das in meinem Gästebuch? sorry bin noch Anfänger in dem Gebiet PHP/MySQL?

Greets Burner

---
- Die deutsche Sprache sollte sanft und ehrfurchtsvoll zu den toten Sprachen abgelegt werden, denn nur die Toten haben die Zeit, die Sprache zu lernen

Mark Twain (30.11.1835 - 21.04.1910) US-Schriftsteller

  Profil   E-Mail   Website   Editieren   Zitieren

stalkerX
Mausakrobat


Beiträge: 183


er meinte bestimmt z.B. nach datum sortieren...


---
.: Web 2.0 Entwickler & seine Notizen :.

  Profil   Website   Editieren   Zitieren

[SpecFor]crusher
Otto-Normal-Poster


Beiträge: 97


ja nun also ich würde Zeit und Datum in 2felder schreiben...
is echt praktischer...
also
$time=date("G:i")
und
$date=date("j m Y")


und dann die daten einspeisen

  Profil   E-Mail   Website   Editieren   Zitieren

stalkerX
Mausakrobat


Beiträge: 183


sowas würde ich nicht mal meinen feinden empfehlen, crusher [mal nachzählen wieviele es sind]

warum? na weil du keine datensätze mit dieser schreibweise und dieser methode zum ordentlichen sortieren bringst [und nach datum und nach time]. es sei denn, man will die einträge nicht ordnen, was ich bei einem gästebuch nicht besonders glaube...


---
.: Web 2.0 Entwickler & seine Notizen :.

  Profil   Website   Editieren   Zitieren

Elliot
Fachidiot


Beiträge: 135


Hallo!

Um mich auch noch kurz in die Diskussion einzumischen, würde ich das Datum als timestamp(14) speichern.

Auslesen als SELECT UNIX_TIMESTAMP(datum) as datum

und dann

umformen mit:

...

date("H:i",$row[datum]);

Damit hätte man dann beides vereint.

Gruß, Elliot

---
Elliot - Das Schmunzelmonster

  Profil   Website   Editieren   Zitieren

stalkerX
Mausakrobat


Beiträge: 183


ich verstehe eins nicht, leutz: warum macht ihr die ganze sache so umständlich - zuerst auslesen und dann noch umwandeln?

das datum lässt sich doch gleich beim auslesen formatieren [siehe oben] - aber jedem das seine...
vielleicht ist genau hier die definitionsgrenze zwischen anfänger und fortgeschrittener?


---
.: Web 2.0 Entwickler & seine Notizen :.

  Profil   Website   Editieren   Zitieren
Seite 1 | 2 | 3  

Antworten
Nach oben