简体   繁体   中英

PHP strftime locale changes on refresh

I am using strftime in a project and I have a strange bug with setting the locale and print it out. Here the code:

<?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'));

?>

The output is the following:

Dienstag, den 26. November 2013 um 08:33

which is correct, but if I refresh the page I get the following (in one time out of 20)

Tuesday, den 26. November 2013 um 08:33.

Why is the language changing? Do you have any idea?

Update:

I created a file with the code above. It's working fine. In my project I am using Code Igniter, there I have the

date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE");

in my main index.php in the root folder. And I am echoing this in a view:

echo strftime("%A, den %d. %B %Y um %R", strtotime('2013-11-26 08:33:45'));

So the problem is with Code Igniter, is there a cache or something that's changing the locale sometimes to english?

PHP suggests that as of 4.3.0, Try all these possible locales

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

Secondly,

Note: On Windows, setlocale(LC_ALL, '') sets the locale names from the system's regional/language settings (accessible via Control Panel).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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