Ist die Funktion setlocale() in PHP für Chinesisch ungültig?
怪我咯
怪我咯 2017-05-24 11:33:31
0
3
918

Umgebung:
CentOS 7.3.1611
PHP 7.1.3

Code:

echo setlocale(LC_ALL, array('zh_CN.UTF-8', 'zh_CN.utf8', 'zh_CN')), PHP_EOL;
$date = new DateTime();
echo $date->format('Y-F-d l'), PHP_EOL;

Ausgabe:

zh_CN.UTF-8
2017-May-22 Monday

Zusätzlicher Test, in Shell:

# export LC_ALL=zh_CN.UTF_8
# date
2017年 05月 22日 星期一 19:02:15 CST
# export LC_ALL=en_US.UTF_8
# date
Mon May 22 19:02:34 CST 2017

Frage:
Es ist möglich, die Datumsausgabe in Bash zu lokalisieren.
Warum ist es ungültig, die Funktion setlocale() in PHP zu verwenden?

Bitte fragen Sie Experten um Rat.

怪我咯
怪我咯

走同样的路,发现不同的人生

Antworte allen(3)
大家讲道理

以上两个答案都没说到点上。
setlocale
strftime - 根据区域设置格式化本地时间/日期

这两个函数要配合使用,你才能看到效果。

不过,不过,即使这样,跟你直接调用系统 bash 的表现还是有差异,不一定符合你预期。

过去多啦不再A梦

bash中的date命令调用的是linux中的一个date应用程序来实现的日期功能的显示及输出的

php是自己实现的日期对象及函数

两者功能不一样是十分可以理解的啊!

漂亮男人

这是两种语言,方法机制不一样,如果你在php里面想得到中文这种格式,完全可以在php中通过exec调用shell的方法:

$cmd = "export LC_ALL=zh_CN.UTF_8 && date";
$date = exec($cmd);
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage