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.