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