我去了这些简单的MySQL查询:
$sql->setQuery("SELECT * FROM $db_table");
for ($i = 0; $i < $sql->getRows(); $i++) {
$id = $sql->getValue("id");
$date = $sql->getValue("date");
setlocale(LC_TIME, 'de_DE');
$date = date('l, d.m.Y');
echo $date;
$sql->next();
}
输出为: 2016年12月22日星期三。
有没有办法让这个工作日用德语?我还在使用setlocale(LC_TIME, 'de_DE');
?!
答案 0 :(得分:2)
可能是由于Windows机器,未检测到区域设置de_DE
。而是使用deu_deu
。另外,使用strftime根据区域设置格式化本地时间/日期:
setlocale(LC_TIME, 'de_DE', 'deu_deu');
$date = strftime('%A, %d.%m.%Y');
echo $date;
打印:
Dienstag, 20.12.2016
您可以在manual中查看参考资料
更新:显示来自DB的日期
$date = strftime('%A, %d.%m.%Y', strtotime($date));
所以你的代码将是:
$sql->setQuery("SELECT * FROM $db_table");
for($i=0;$i<$sql->getRows();$i++)
{
$id = $sql->getValue("id");
$date = $sql->getValue("date");
setlocale(LC_TIME, 'de_DE', 'deu_deu');
$date = strftime('%A, %d.%m.%Y', strtotime($date));
echo $date;
$sql->next();
}
答案 1 :(得分:0)
setlocale(LC_TIME,&#39; de_DE&#39;,&#39; deu_deu&#39;);