【发布时间】:2013-11-27 11:34:19
【问题描述】:
我在一个项目中使用 strftime,但在设置语言环境并将其打印出来时遇到了一个奇怪的错误。代码如下:
<?php
date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE");
echo strftime("%A, den %d. %B %Y um %R", strtotime('2013-11-26 08:33:45'));
?>
输出如下:
Dienstag, den 26. November 2013 um 08:33
这是正确的,但如果我刷新页面,我会得到以下信息(20 次中有一次)
2013 年 11 月 26 日星期二 08:33。
为什么语言会改变?你有什么想法吗?
更新:
我用上面的代码创建了一个文件。它工作正常。在我的项目中,我使用的是 Code Igniter,那里有
date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE");
在我的根文件夹中的主 index.php 中。我在一个观点中呼应了这一点:
echo strftime("%A, den %d. %B %Y um %R", strtotime('2013-11-26 08:33:45'));
所以问题出在 Code Igniter 上,是否有缓存或某些东西有时会将语言环境更改为英语?
【问题讨论】:
-
您在回显线上缺少右括号“)”
-
我只是错过了它,在这篇文章中,在我的代码中它就在那里。所以这不是错误。修好了。
-
没有解决办法?我也有同样的问题...
标签: php localization strftime