簡體   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