thyseus
(Thyseus)
May 7, 2009, 8:17pm
1
Hallo!!
Ich habe folgendes Problem:
Yii::app()->language;
liefert mir de_de zurück. Trotzdem werden Datumsangaben im englischen Namen angegeben (07. May 2009).
Wo kann ich das ändern? Ich benutze date('j. F Y',$post->createTime);
Stelle ich das in der PHP-Konfiguration ein?
mikl
(Mike)
May 8, 2009, 5:59am
2
Ich mach das in diesem Fall immer mit setlocale() und strftime() :
<?php
setlocale('de_DE');
echo strftime('%d. %B %Y', $post->createTime);
yoshi
(Jaschakoch)
May 8, 2009, 3:38pm
3
Hi,
da hat Mike natürlich vollkommen recht!
In der Doku zu date() steht auch ganz am Ende:
"Um Datumsangaben in anderen Sprach-/Zeitzonen-Formaten auszugeben, sollten Sie die Funktionen setlocale() und strftime() benutzen."
Gruß
thyseus
(Thyseus)
May 13, 2009, 10:44pm
4
Ok, danke für eure Hinweise. Es hat mit folgenden Einstellungen funktioniert:
setlocale(LC_ALL, "de_DE.UTF-8");
strftime('%d. %B %Y', $post->createTime);
Ist für zukünftige Yii-Versionen ein Yii::date oder ähnliches geplant, das die in der config eingestellte Sprache automatisch berücksichtigt? Vielleicht macht folgendes Sinn:
protected/config/main.php:
return array(
'language' => 'de',
'locale' => 'de_DE.UTF-8',
);
mikl
(Mike)
May 14, 2009, 5:03am
5
Meinst du Yii::app()->dateFormatter ? Zur Verwendung siehe auch den Abschnitt “Datums und Uhrzeitformatierung” auf dieser Seite im Handbuch.