繁体   English   中英

PHP strftime语言环境在刷新时发生更改

[英]PHP strftime locale changes on refresh

我在项目中使用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'));

?>

输出如下:

Denstag,den 26.2013年11月um 08:33

这是正确的,但是如果刷新页面,则会得到以下信息(20之内一次)

星期二,巢穴26。2013年11月um 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建议从4.3.0开始,尝试所有可能的语言环境

setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');

其次,

注意:在Windows上,setlocale(LC_ALL,'')从系统的区域/语言设置(可通过“控制面板”访问)中设置区域设置名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM