使用以下源代码,我在dev(local-maxOSX)和live(debian)上得到不同的输出:
setlocale(LC_TIME, 'de_DE' );
$intervalOutput = strftime('%a %d.%m. %H:%M', $start->getTimestamp());
echo $intervalOutput;
本地(正确格式化当天):做01.03。 20:00
直播服务器(不正确 - 我需要德国工作日输出):星期四01.03。 20:00
有人可以告诉我为什么会这样吗?
答案 0 :(得分:1)
尝试使用date_default_timezone_set或尝试使用LC_ALL
答案 1 :(得分:1)
我认为这对我有用(这就是为什么我在这里写了这个答案),但后来我意识到这现在不适用于开发(OSX)机器。 (所以我刚编辑了这个答案) 无论如何你都可以试试:
1。)在实时服务器上安装语言环境(以root用户身份):
aptitude install debconf
dpkg-reconfigure locales
2。)改变:
setlocale(LC_TIME, 'de_DE')
到
setlocale(LC_TIME, 'de_DE.UTF8')
这对我不起作用的原因似乎是在OSX上调用了语言环境 “de_DE.utf-8”,而在debian机器上它被称为“de_DE.UTF8”。
答案 2 :(得分:0)
在两台机器上尝试以下操作。
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";