mysql — установить день недели для немецкого языка в переполнении стека

Я пошел эти простые 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');?!

0

Решение

Это может быть из-за машины 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();
}
2

Другие решения

setlocale (LC_TIME, ‘de_DE’, ‘deu_deu’);

0

По вопросам рекламы [email protected]