Mik3e
Erfahrenes Mitglied
Hi zusammen,
Ich habe folgendes Problem:
Derzeit entwickeln wir den Administrationsbereich eines recht komplexen Systems. Dieser muss in so gut wie allen Sprachen und Zeichensätzen dargestellt werden.
Dafür haben wir uns kurzerhand nette Language-Packages für die Applikation geschrieben, in denen statische Texte gehalten werden. Dynamische Text, die der User eingibt (z.B. "Produktname" in Englisch, Deutsch und Chinesisch") werden einfach mehrsprachig in der Datenbank geführt.
Nun kommen wir aber zum eigentlichen Kern der Sache:
Wie jeder weiß, hat jedes Land seine bei der Darstellung von Datum, Zeit, monetären Werten und tausender-nummerierung seinen eigenen "Willen".
Beispiel:
In der Datenbank ist ein Timestamp im Format YYYY-mm-dd HH:ii:ss gespeichert.
Dieses Datum wird nun ausgelesen und soll auf der GUI abgebildet werden.
Gehen wir von dem Datum "2005-11-04 15:30:00" aus:
Die Mitarbeiter erwarten nun folgende Anzeige:
Deutscher Mitarbeiter: 04.11.2005, 15:30 Uhr
Amerikaner: 2005-11-04, 03:30 p.m.
Chinese: keine Ahnung, aber sicher auch anders formatiert.
Nun gibt es ja glücklicherweise die [phpf]setlocale[/phpf] Funktion. Damit kann ich ja abhängig von gewählten Sprachpaket die lokalen Einstellungen setzen. (Also Deutschland = "ge", Amerika: "us" etc.)
Und das Datum kann ich mit [phpf]strftime()[/phpf] auch sauber ausgeben, allerdings muss ich der Funktion die POSITION der Werte übergeben.
Also:
Diese Ausgabe wäre für den Deutschen Mitarbeiter perfekt (04.11.2005), für den Amerikaner aber kaum brauchbar (er erwartet 2005-11-04).
Gesuchte Lösung:
Gibt es eine Funtkion, die mir abhängig von den LOCALE Settings auch die Formatierung des Datums korrekt durchführt (Positionierung)?
Danke Euch im Voraus,
Ciao,
Mike
Ich habe folgendes Problem:
Derzeit entwickeln wir den Administrationsbereich eines recht komplexen Systems. Dieser muss in so gut wie allen Sprachen und Zeichensätzen dargestellt werden.
Dafür haben wir uns kurzerhand nette Language-Packages für die Applikation geschrieben, in denen statische Texte gehalten werden. Dynamische Text, die der User eingibt (z.B. "Produktname" in Englisch, Deutsch und Chinesisch") werden einfach mehrsprachig in der Datenbank geführt.
Nun kommen wir aber zum eigentlichen Kern der Sache:
Wie jeder weiß, hat jedes Land seine bei der Darstellung von Datum, Zeit, monetären Werten und tausender-nummerierung seinen eigenen "Willen".
Beispiel:
In der Datenbank ist ein Timestamp im Format YYYY-mm-dd HH:ii:ss gespeichert.
Dieses Datum wird nun ausgelesen und soll auf der GUI abgebildet werden.
Gehen wir von dem Datum "2005-11-04 15:30:00" aus:
Die Mitarbeiter erwarten nun folgende Anzeige:
Deutscher Mitarbeiter: 04.11.2005, 15:30 Uhr
Amerikaner: 2005-11-04, 03:30 p.m.
Chinese: keine Ahnung, aber sicher auch anders formatiert.
Nun gibt es ja glücklicherweise die [phpf]setlocale[/phpf] Funktion. Damit kann ich ja abhängig von gewählten Sprachpaket die lokalen Einstellungen setzen. (Also Deutschland = "ge", Amerika: "us" etc.)
Und das Datum kann ich mit [phpf]strftime()[/phpf] auch sauber ausgeben, allerdings muss ich der Funktion die POSITION der Werte übergeben.
Also:
PHP:
echo strftime("%d.%m.%Y");
Gesuchte Lösung:
Gibt es eine Funtkion, die mir abhängig von den LOCALE Settings auch die Formatierung des Datums korrekt durchführt (Positionierung)?
Danke Euch im Voraus,
Ciao,
Mike