datatable — изменение способа отображения даты в таблице php

При добавлении данных они вводятся в виде дд-мм-гггг, однако в базе данных они отображаются как гггг-мм-дд. Это не проблема, однако при возврате этих данных на мой веб-сайт я хочу, чтобы дата отображалась в формате дд-мм-гггг. Я отображаю данные в виде данных. Код, который я сейчас использую:

while ($myrow = mysqli_fetch_array($result)):

$username   = $myrow["username"];
$date       = $myrow["date"];
$returned   = $myrow["returned"];

$table = '<tr>';

if ($returned == 'Yes'){
$table.= '<td><div style="color: green;">'.$username.'</div>';
} else if ($date < date("Y-m-d")) {
$table.= '<td><div style="color: red;">'.$username.'</div>';
} else{
$table.= '<td><div style="color: blue;">'.$username.'</div>';
}

if ($returned == 'Yes'){
$table.= '<td><div style="color: green;">'.$date.'</div>';
} else if ($date < date("Y-m-d")) {
$table.= '<td><div style="color: red;">'.$date.'</div>';
} else{
$table.= '<td><div style="color: blue;">'.$date.'</div>';
}

if ($returned == 'Yes'){
$table.= '<td><div style="color: green;">'.$returned.'</div>';
} else if ($date < date("Y-m-d")) {
$table.= '<td><div style="color: red;">'.$returned.'</div>';
} else{
$table.= '<td><div style="color: blue;">'.$returned.'</div>';
}

echo $table;
endwhile;

Все данные, поступающие из базы данных, работают отлично и т. Д., Просто любопытно, что мне не хватает, чтобы изменить формат даты.

Любая помощь с благодарностью.

1

Решение

 while ($myrow = mysqli_fetch_array($result)):

$username   = $myrow["username"];
$date       = $myrow["date"];
$returned   = $myrow["returned"];
$color;

$formattedDate = date("d-m-Y", strtotime($myrow["date"]));

$table = '<tr>';

if ($returned == 'Yes'){
$color = "green";
} else if ($date < date("Y-m-d")) {
$color = "red";
} else{
$color = "blue";
}$table.= '<td><div style="color: '.$color.';">'.$username.'</div></td>';
$table.= '<td><div style="color: '.$color.';">'.$formattedDate.'</div></td>'
$table.= '<td><div style="color: '.$color.';">'.$returned.'</div></td>';$table .= '<tr>';

echo $table;
endwhile;
1

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

Вы можете использовать следующее для изменения формата даты:

$formattedDate = date("d-m-Y", strtotime($myrow["date"]));

Вместо использования переменной $ date используйте $ formattedDate 🙂

1

Ну, вы должны изменить формат даты.

Самый простой способ — преобразовать дату в метку времени, а затем использовать date функция для отображения даты в любом формате, который вы хотите. Вы можете использовать StrToTime функция, чтобы превратить его в метку времени, и Дата имеет много вариантов отображения.

0

Формат даты:

http://php.net/manual/en/function.date.php

$d = new DateTime($date);
$formatted= date_format($d, 'Y m d');
0

Прямо из PHP документация.

d — день месяца, 2 цифры с ведущими нулями — от 01 до 31
m — числовое представление месяца с ведущими нулями — от 01 до 12
Y — полное числовое представление года, 4 цифры — 1999 или 2003

Таким образом, вы можете сделать что-то подобное для того, что вы хотите сделать.

$time = strtotime($timefromdb);
$formatted = date("d/m/Y", $time);

Просмотр документации предоставит вам очень широкий спектр возможностей, когда дело доходит до такого рода вещей.

0

Если вы не хотите вносить изменения в PHP, вы также можете управлять им с помощью MySQL-запроса. Обновите ваш запрос:

Select username,DATE_FORMAT(date,'%m-%d-%Y') as date,returned from TABLE.....
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector