• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Deutsche Datumsausgabe

Status
Für weitere Antworten geschlossen.
vielleicht setzt du mit setlocale ja den falschen wert also zeig doch mal ein wenig code bitte ^^
 
jaja, das thema ist ein schwieriges.

PHP:
echo "<b>Locales:</b><br>";
$test1 = system("locale");
echo "<br><br><b>Eingestellbar:</b><br>";
$test2 = system("locale -a");

echo "<br><br>";

$datum = "13.5.2008";


$versuche = array(
                    "de_AT.UTF-8",
                    "de_AT.utf8"
                    );

$loc_de = setlocale (LC_TIME, $versuche);

echo strftime("%d.%b.%Y",strtotime($datum));
da offensichtlich abweichungen zwischen den einzelnen übergabewerten bestwehen, muss man auf gross und kleinschreibung achten.

der schnipsel oben, sollte helfen, verschiedene möglichkeiten heraus zu finden, die du in das array versuche eintragen kannst. wird setlocale irgendwo fündig, wird der wert übernommen und gesetzt.


hoffe es hilft

lg sys ;-)
 
Nachdem meine Versuche scheiterten, habe ich das Beispiel auf der Manpage ausprobiert:
PHP:
<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>
Hier wird jedes Mal "Wednesday" ausgegeben.

@sysop: "locale" funktioniert unter Unix, aber anscheinend nicht unter Windows (Vista).

Bei Deinem Beispiel bekomme ich auf jeden Fall "May" ausgegeben. Also wieder englisch.
 
bei mir ist de_AT eingestellt, deshalb die ausgabe von system("locale -a");
damit kannst du sehen, welche möglichkeiten du hast.

in meinem beispiel oben ist z.b. "de_AT.UTF-8" falsch, obwohl php das so vorschlagen würde.
"de_AT.utf8" ist korrekt, auf der konsole gibt mir ein locale -a genau diese möglichkeit vor.

bei dir wird das wahrscheinlich irgend was mit de_DE.utf8 sein oder ähnlich (achte auf den fehlenden bindestrich)...
was gibt eine konsole denn bei dir mit locale -a aus ?

ist ein horror thema, deshalb verweigere ich locales und zerlege das datum und mache das immer mit einem str_replace() wie ich es brauche.

windows macht das übrigens wirklich anders, dazu das zitat:
Windowsuser finden weitergehende Informationen über locale -Strings auf Microsofts MSDN-Webseite. Unterstützte Language-Strings können Sie unter » http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp, Country/Region-Strings unter » http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp nachschlagen. Windowssysteme unterstützen Drei-Buchstaben-Codes für Länder/Regionen-Angaben entsprechend ISO 3166-Alpha-3, die Sie auf der » Unicode Website finden.
damit könntest du z.b. die windows möglichkeit in das array $versuche eintragen und neu laufen lassen.
 
Wer liest schon Manuals bis zum Ende ... :-D

Das hab ich wohl überlesen, mit "deu" geht das perfekt!

Danke!
 
Status
Für weitere Antworten geschlossen.

Neueste Beiträge

Zurück
Oben