2015-10-14 110 views
1

我正在使用這個簡單的腳本來測試我的主機上運行的PHP版本5.6。 該腳本將輸出「星期三」改爲「Woensdag」(荷蘭語) 爲什麼星期幾仍然是英語而不是荷蘭語? 這是因爲服務器配置不正確?如何設置日期和時間到荷蘭

<?php 
/* Set locale to Dutch */ 
date_default_timezone_set("Europe/Amsterdam"); 
setlocale(LC_ALL, 'nl_NL'); 

echo date("l"); // output: Wednesday instead off "Woensdag" (dutch) 

?> 

回答

2

不幸的是,日期不是多種語言。如果你想格式化你需要設置區域其他語言的語言(如你在你的例子一樣),並使用strftime

格式化選項的strftime也導致「Woensdag」(或「德國mittwoch等):

setlocale(LC_TIME, 'en_EN'); 
echo strftime('%A', time()); // for a Wednesday will output: Wednesday 
setlocale(LC_TIME, 'nl_NL'); 
echo strftime('%A', time()); // for a Wednesday will output: woensdag 

除非你想人很多事情要由setlocale影響您可能要指定你做這只是時間(如上面的例子)閱讀setlocale更多信息:http://php.net/manual/en/function.setlocale.php

請記住,您需要在您的機器上具有可用的語言環境爲了這個工作。在Linux上與locale -a覈對。 setlocale有返回值。如果這是錯誤的事情出錯了,你很可能會錯過指定的區域設置。

+0

不幸的是,我確實迴應了strftime,但仍然是英文:'echo strftime(「%A%e%B%Y」);'給我2015年10月14日,星期三 – nuet

+2

你的機器上安裝了locale nl_NL嗎? – hoppa

+0

嗯,我想我必須聯繫我的主機。如果您有控制檯訪問權限,您可以使用我在答案中提供的提示:locale -a查看您擁有和未安裝的內容,從php版本5.3升級到5.6 – nuet

相關問題