При добавлении данных они вводятся в виде дд-мм-гггг, однако в базе данных они отображаются как гггг-мм-дд. Это не проблема, однако при возврате этих данных на мой веб-сайт я хочу, чтобы дата отображалась в формате дд-мм-гггг. Я отображаю данные в виде данных. Код, который я сейчас использую:
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;
Все данные, поступающие из базы данных, работают отлично и т. Д., Просто любопытно, что мне не хватает, чтобы изменить формат даты.
Любая помощь с благодарностью.
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;
Вы можете использовать следующее для изменения формата даты:
$formattedDate = date("d-m-Y", strtotime($myrow["date"]));
Вместо использования переменной $ date используйте $ formattedDate 🙂
Ну, вы должны изменить формат даты.
Самый простой способ — преобразовать дату в метку времени, а затем использовать date
функция для отображения даты в любом формате, который вы хотите. Вы можете использовать StrToTime функция, чтобы превратить его в метку времени, и Дата имеет много вариантов отображения.
Формат даты:
http://php.net/manual/en/function.date.php
$d = new DateTime($date);
$formatted= date_format($d, 'Y m d');
Прямо из PHP документация.
d — день месяца, 2 цифры с ведущими нулями — от 01 до 31
m — числовое представление месяца с ведущими нулями — от 01 до 12
Y — полное числовое представление года, 4 цифры — 1999 или 2003
Таким образом, вы можете сделать что-то подобное для того, что вы хотите сделать.
$time = strtotime($timefromdb);
$formatted = date("d/m/Y", $time);
Просмотр документации предоставит вам очень широкий спектр возможностей, когда дело доходит до такого рода вещей.
Если вы не хотите вносить изменения в PHP, вы также можете управлять им с помощью MySQL-запроса. Обновите ваш запрос:
Select username,DATE_FORMAT(date,'%m-%d-%Y') as date,returned from TABLE.....