Webstatt.org - Community seit 2006 - 2012 (2024?)

date_format() Monatsname auf Deutsch

Avatar user-279
04.07.2006 10:15

Hallo.

Ich hab wiedermal eine Frage lächeln
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 - user-279

user-157
04.07.2006 10:19

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

asdf!
Avatar user-253
04.07.2006 10: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

Avatar user-300
04.07.2006 11:02

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

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

Avatar user-253
04.07.2006 11: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 ^^

Avatar user-279
04.07.2006 11:21

klar liegt das datum als timestamp vor frech

Avatar user-300
04.07.2006 11:37

Original von user-251el
Aber nur wenn das Datum als Timestamp vorliegt, oder?


Naja, wozu gibt es dann mktime()? zwinkern

Avatar user-253
04.07.2006 11: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.

user-303
04.07.2006 12:43

Original von user-279
klar liegt das datum als timestamp vor frech

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

Avatar user-279
05.07.2006 17:36

danke für den link.

so long