Strftime与德国日期

时间:2011-12-15 14:09:02

标签: php strftime

我试图用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

2 个答案:

答案 0 :(得分:11)

我的猜测:该机器人实际上在您的机器上被称为de_DE.utf8(它在我的机器上)。这对你有用吗?

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

BTW:在Linux上,您可以使用locale -a查看可用内容。

答案 1 :(得分:-1)

您需要安装国际化扩展程序,但我建议您使用IntlDateFormatter class

首先看一下手册,但快速示例可能如下所示:

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

哪个输出:

Donnerstag,15。Dezember 2011