2016-12-20 5 views
0

Я идти эти простые MySQL Query:Установить день недели на немецкий в PHP

$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

Ermmmm '$ дата = дата («л, ДМГ»);' фактически напечатать системную дату, кстати, а не дату вы получили от database – RiggsFolly

ответ

1

Возможно, это связано с машиной для окон, язык 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 для справки


Update : Для отображения даты из БД

$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(); 
} 
+0

Он печатает текущую дату, но я сохранил дату в базе данных. Есть ли способ «подключить» его? –

+0

@MarcusBauer Проверьте обновленный ответ! '$ date = strftime ('% A,% d.% m.% Y', strtotime ($ date));' – Thamilan

+1

Хммм это было не очень, занято проверкой фактов по языковым кодам для Германии и не нашло вашего. Таким образом, я удалил и УФ-ваш. Надеюсь, мы оба правы! – RiggsFolly

Смежные вопросы