Я пошел эти простые MySQL Query:
$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();
}
Выход: Среда, 22.12.2016.
Есть ли способ узнать будний день на немецком языке? Я все еще использую setlocale(LC_TIME, 'de_DE');
?!
Это может быть из-за машины 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
Вы можете увидеть в руководство для справки
Обновить: Для отображения даты из БД
$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();
}
setlocale (LC_TIME, ‘de_DE’, ‘deu_deu’);