相关疑难解决方法(0)

PHP setlocale不起作用

我尝试在我的raspberry-pi上使用nginX在PHP(php-fpm)中将语言环境从fr_FR设置为us_US.
这是我的代码:

<?php

system('locale -a');
/*
C POSIX en_US.utf8 fr_FR fr_FR.iso88591 fr_FR.iso885915@euro fr_FR.utf8
So the en_US locale is well installed
*/

echo locale_get_default();
/* fr_FR */
echo setlocale(LC_ALL, '0');
/*
LC_CTYPE=fr_FR.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;
LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;
LC_MEASUREMENT=C;LC_IDENTIFICATION=C
*/

var_dump(setlocale(LC_ALL, 'en_US.UTF-8', 'en_US.UTF8'));
/* bool(false) */

var_dump(setlocale(LC_ALL, 'fr_FR.UTF8'));
/* string(10) "fr_FR.UTF8"
useless, but it shows that setlocale works with the already set locale */
?>
Run Code Online (Sandbox Code Playgroud)

我不明白为什么要setlocale回来false.
似乎有些东西不起作用,但我无法找到什么.

php locale nginx raspberry-pi

5
推荐指数
1
解决办法
4000
查看次数

DateTime :: format和strftime

我有$date = $run['at'];这给了我2013-06-03T16:52:24Z(从JSON输入).要改造它以获得例如" d MY,H:i "我使用

$date = new DateTime($run['at']);
echo $date->format('d M Y, H:i');
Run Code Online (Sandbox Code Playgroud)

问题是我需要意大利语的日期.而唯一支持的功能set_localestrftime.我如何"包装" DateTime::formatstrftime(或更换,说不上来)?

php time datetime strftime datetime-format

3
推荐指数
1
解决办法
8697
查看次数

标签 统计

php ×2

datetime ×1

datetime-format ×1

locale ×1

nginx ×1

raspberry-pi ×1

strftime ×1

time ×1