date() 不尊重当前语言环境,而 strftime()

date() does not respect the current locale, while strftime() does

这是我的测试文件的全部内容:

<?php
setlocale(LC_ALL, 'de_DE');
echo date('F'); // => "February" (wrong)
echo strftime('%B'); // => "Februar" (correct)
?>

知道为什么会这样吗?我已经使用 shell.

中的 locale -a 验证了 de_DE 语言环境已安装

来自the manual

To format dates in other languages, you should use the setlocale() and strftime() functions instead of date().

所以您看到的是预期的行为。对区域设置格式的日期使用 strftime(),在不需要时使用 date()