Willkommen in der Webstatt Zum Webstatt Blog und Stories
phore phore am 04.07.06 12:15

Hallo.

Ich hab wiedermal eine Frage :)
und zwar möchte ich bei einer Tabelle mit Terminen den Monat nicht als Zahl, sondern als Name haben. Also anstatt

24.07.2006 -> 24. Juli 2006
05.08.2006 -> 05. August 2006

Kann ich das direkt mit date_format() lösen oder muss ich noch eine funktion schreiben der die monatsnamen ersetzt?

danke.
so long - phore

netcup.de Warum gibt es hier Werbung?
crooked am 04.07.06 12:19

nimm einfach das script hier
http://www.tippsl.de/Tippsl.de/PHPScript_41_Datumsanzeige

Michael Michael am 04.07.06 12:27

Anhand deiner Fragestellung befürchte ich, die Daten sind als VARCHAR und nicht als DATE gespeichert.

DATE_FORMAT kann generisch leider nur mit Datumsformaten wie JJJJ-MM-DD (der Seperator ist egal aber die Reihenfolge muss so sein...) umgehen. Eine direkte Lösung mit DATE_FORMAT fällt daher leider weg. Des Weiteren hinge der ausgegebene Monatsname auch mit der Spracheinstellung deiner Datenbank zusammen...

Ich würde hier eine simple PHP-Suchen und Ersetzen Lösung vorschlagen:

$tage = array('.01.','.02.',...);
$monatsnamen = array('Januar','Februar',...);
$datum = str_replace($tage,$monatsnamen,$datum);


Michael

sili sili am 04.07.06 13:02

Eine andere Variante wäre auch das Verwenden von setlocale():

// fuer E_STRICT
date_default_timezone_set('Europe/Paris');
setlocale(LC_TIME, 'de_DE', 'de', 'ge');
echo strftime('%d. %B %Y', time());

Michael Michael am 04.07.06 13:12

Aber nur wenn das Datum als Timestamp vorliegt, oder?

Ich habe leider eine Abneigung gegen PHP-Datumsfunktionen, dass ich deren Funktionsumfang mittlerweile gar nicht mehr so genau kenne ^^

phore phore am 04.07.06 13:21

klar liegt das datum als timestamp vor :P

sili sili am 04.07.06 13:37

Quote
Original von Michael
Aber nur wenn das Datum als Timestamp vorliegt, oder?


Naja, wozu gibt es dann mktime()? ;)

Michael Michael am 04.07.06 13:57

Ich meinte Timestamp im Vergleich zu einem String der Art: 4.7.2006

Es hat sich jedoch eh geklärt, da die Daten wohl als Timestamp vorliegen.

Snake am 04.07.06 14:43

Quote
Original von phore
klar liegt das datum als timestamp vor :P

-> http://php4u.net/index.php?main=codeschnipsel&source=23

phore phore am 05.07.06 19:36

danke für den link.

so long

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt