4

strftimeでドイツ語で日付を印刷しようとしています。私はすでに試しました

date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE", "de_DE@euro", "deu", "deu_deu", "german");
$time = strftime("%B", 1323956220);
echo $time;  //I want to see "Dezember", but I see "December" instead

しかし、うまくいきませんでした。何か不足していますか?

編集:申し訳ありませんが、strftime関数を見逃しました:P

4

2 に答える 2

11

私の推測では、ロケールは実際de_DE.utf8にあなたのマシンで呼び出されます (私のものです)。これはうまくいきますか?

setlocale(LC_ALL, "de_DE.utf8"); // or LC_TIME
echo strftime('%B', 1323956220);

ところで:Linuxでは、locale -a利用可能なものを確認するために使用できます。

于 2011-12-15T14:20:56.790 に答える
-1

Internationalization 拡張機能をインストールする必要がありますが、IntlDateFormatter クラスを使用することをお勧めします

最初にマニュアルを見てください。簡単な例は次のようになります。

$fmt = datefmt_create("de_DE", IntlDateFormatter::FULL, IntlDateFormatter::NONE, 'Europe/Berlin', IntlDateFormatter::GREGORIAN);
echo datefmt_format($fmt , time());

これは次のように出力されます:

Donnerstag, 15. 2011 年 12 月

于 2011-12-15T14:19:49.200 に答える