englische Wochen- bzw. Monatsnamen
Moser Klaus
- php
Hallo Forumer!
Ich habe lokal den Apache installiert und PHP. Alles läuft ganz toll. Nur, wenn ich das heutige datum ausgeben will, dann bringt er mir englische Wochen- bzw. Monatsnamen. Haben möchte ich aber die deutschen Bezeichnungen.
Kann ich das im Apache oder sonstwo einstellen oder muss ich da eine eigene Abfrage machen??
Liebe Grüsse aus Österreich
Klausi
Hi Klausi,
Kann ich das im Apache oder sonstwo einstellen oder muss ich da eine eigene Abfrage machen??
Nein, umstellen geht nicht. Sowas mußt Du schon selber skripten...
z.B. mit Hilfe eines Array:
$monat_name[1] = 'JAN';
$monat_name[2] = 'FEB';
$monat_name[3] = 'MAR';
$monat_name[4] = 'APR';
[..]
nehmen wir an, die Variable $monat ist eine Ganzzahl von 1 - 12, die den jeweiligen Monat enthält...
echo $monat_name[$monat];
Viele Grüße,
Henning Peters
Hmm, klingt nach Tipperei!
Aber so was hab' ich mir schon gedacht.
Vielen Dank für die rasche Antwort!
Liebe Grüsse
Klausi
Hallo Klaus,
Du kannst mittels setlocale einige Informationen auch in anderen Sprachen abrufen. Dies funktioniert jedoch nur, wenn setlocale unterstützt wird (einfach ausprobieren).
z.B. Ausgabe des Monats (Langform in Deutsch)
<?
setlocale("LC_TIME","DE_de");
print (strftime("%B"));
?>
Auszug PHP-Handbuch:
string setlocale (string category, string locale)
Der String category enthält die Kategorie der zu ändernden Lokalitäts-Informationen:
LC_ALL - alle folgenden Werte
LC_COLLATE - für String-Vergleiche - z.Zt. noch nicht in PHP implementiert
LC_CTYPE - betrifft Klassifizierungen und Umwandlung, z.B. bei strtoupper()
LC_MONETARY - betrifft localeconv() - z.Zt. noch nicht in PHP implementiert
LC_NUMERIC - für das Dezimal-Trennzeichen
LC_TIME - betrifft Zeit und Datums-Formatierungen durch strftime()
Ist locale als Leer-String definiert, also "", werden die Werte an Hand der entsprechenden Umgebungs-Variablen gleichen Namens oder von "LANG" bestimmt.
Ist locale Null oder "0", werden keine Einstellungen verändert sondern als Ergebnis zurück gegeben.
Setlocale() gibt die neue Einstellung oder false (wenn die locale-Funktionalität auf der System-Plattform nicht unterstützt wird oder der Kategorie-Wert ungültig ist) zurück. Ein ungültiger Kategorie-Name erzeugt auch noch eine Warnmeldung.
grüss euch
Du kannst mittels setlocale einige Informationen auch in anderen Sprachen abrufen. Dies funktioniert jedoch nur, wenn setlocale unterstützt wird (einfach ausprobieren).
ansonst hier die passenden funktionen:
///////////// Weekday Translation ////////////////////////
function germanday ($day) {
$days[] = 'Sonntag';
$days[] = 'Montag';
$days[] = 'Dienstag';
$days[] = 'Mittwoch';
$days[] = 'Donnerstag';
$days[] = 'Freitag';
$days[] = 'Samstag';
return $days[$day];
}
//////////////////////////////////////////////////////////
///////////// Month Translation /////////////////////////
function germanmonth ($month) {
$months[] = '';
$months[] = 'Januar';
$months[] = 'Februar';
$months[] = 'März';
$months[] = 'April';
$months[] = 'Mai';
$months[] = 'Juni';
$months[] = 'Juli';
$months[] = 'August';
$months[] = 'September';
$months[] = 'Oktober';
$months[] = 'November';
$months[] = 'Dezember';
return $months[$month];
}
//////////////////////////////////////////////////////////
aufgerufen wird das ganze durch:
z.b.
$longmonthge = germanmonth(date("n", $datumzeit));
oder
$longdayge = germanday(date("w", $datumzeit));
ganz einfach ;-)
viel spass und tschüss
Siramon
der bettgeweihte grüsst euch
z.b.
$longmonthge = germanmonth(date("n", $datumzeit));
oder
$longdayge = germanday(date("w", $datumzeit));
wobei $datumzeit natürlich für einen unix-timestamp steht...
(anzahl sekunden seit 1.1.1970 00:00 glaub ich...)
*gähn* und tschüss
Sira