2013-11-27 62 views
1

我在項目中使用strftime,並且設置語言環境並將其打印出來時出現了一個奇怪的錯誤。下面的代碼:PHP 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,書房26. 2013年11月庵08:33

這是正確的,但如果我刷新頁面我得到以下內容(在20箇中的一次)

星期二,den de 2013年11月um 08:33。

爲什麼語言會改變?你有什麼主意嗎?

更新:

我創建了上面的代碼的文件。它工作正常。在我的項目,我使用代碼點火器,在那裏我有

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

所以,問題是代碼點火器,是否有高速緩存或東西,有時也變更語言爲英語?

+0

你在回聲線上丟失了一個右括號「)」 – Pwner

+0

我只錯過了它,在這篇文章中,在我的代碼中它就在那裏。所以這不是錯誤。修復。 –

回答

0

PHP表明,截至4.3.0,嘗試所有可能的語言環境

setlocale(LC_ALL, '[email protected]', 'de_DE', 'deu_deu'); 

其次,

注:在Windows上的setlocale(LC_ALL, '')從設置語言環境名稱 系統的區域/語言設置(可通過控制面板訪問)。

+0

將其更改爲setlocale(LC_ALL,'de_DE @ euro','de_DE','deu_deu'),仍然是相同的... –