[GastForen Programmierung/Entwicklung PHP und MySQL

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Lokale Zeit (Wochentage in Deutsch) angeben

Miro Dietiker
Beiträge gesamt: 699

18. Okt 2002, 16:46
Bewertung:

gelesen: 3217

Beitrag als Lesezeichen
Die vorgefertigten Funktionen in GoLive unterstützen das nicht.

Das Ausgabeformat ist zwar unter im Ausgabeformat frei wählbar,
das ist aber ein anderes Problem...

Für die formatierte Datumsausgabe gibt es 2 Funktionen.
Zum einen date() welche GoLive verwendet und die kann leider
Wochentage nur in englisch
Zum anderen die Funktion strftime() welche verschiedene Sprachen
unterstützt. Mit dem Befehl setlocale() kann man dabei VORHER
das geltende Land / Sprache wählen. PROBLEM: Der Server kann
nur die installierten Sprachen. Wünscht man nicht unterstützte
Sprachen, erscheint es auch mit diesem Befehl einfach in englisch.

Kleines Beispiel:
Du wählst das Datums-Ausgabeelement aus und ordnest ihm das Datum
im englischen Format zu. ("Dynamische Zuordnungen")
Wir definieren den Filter "Format date and time" und geben von Hand
in das Feld "Date and time format" den Wert "U" ein.
Nun wechselst Du in den Quellcode-Modus (Element seletiert lassen)
Du siehst folgenden Text selektiert:
<?php echo FormatDateTime($Inhaltsquelle->Value("Datumsfeld"), "U")?>
Wir ändern es etwas ab:
<?PHP setlocale(LC_TIME, "de_DE"); echo strftime("%A, %d.%m.%Y",
FormatDateTime($Inhaltsquelle->Value("Datumsfeld"), "U"))?>
Es ist nunmehr im Layout ein "?php?"-Element und kein Feld mehr!

Tadaaa! ;) es schreibt "Mittwoch, 12.12.2007" oder so..
PROBLEM: Die Bezeichnung für die Lokalität ist Systemabhängig!
Auf einigen System (Linux/Unix) geht "de" oder "DE" oder "de_DE"
(das eigentlich korrekteste) und auf windows Servern muss man es
wohl eher mit "Deutsch" probieren... Keine Garantie - Probieren!

GrEeZ: Miro Dietiker

(Dieser Beitrag wurde von Miro Dietiker am 18. Okt 2002, 19:37 geändert)
Dieser Beitrag wurde nicht geändert.