2015-10-14 41 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

相关问题