更改日期在 php table 中的显示方式
Changing the way date is displayed in php table
添加数据时,输入的格式为 dd-mm-yyyy,但在数据库中则显示为 yyyy-mm-dd。这不是问题,但是当将该数据拉回我的网站时,我希望日期以 dd-mm-yyyy 格式显示。我在数据表中显示数据。我目前使用的代码是:
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;
从数据库中获取的所有数据都运行良好等等,只是好奇我缺少什么来更改日期格式。
非常感谢任何帮助。
好吧,您必须实际更改日期格式。
最简单的方法是将日期转换为时间戳,然后使用 date
函数以您想要的任何格式显示日期。您可以使用 strtotime function to turn it into a timestamp, and date 有很多显示选项。
您可以使用以下方法更改日期格式:
$formattedDate = date("d-m-Y", strtotime($myrow["date"]));
不要使用 $date 变量,而是使用 $formattedDate :-)
格式化日期:
http://php.net/manual/en/function.date.php
$d = new DateTime($date);
$formatted= date_format($d, 'Y m d');
直接来自 PHP documentation。
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.....
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;
添加数据时,输入的格式为 dd-mm-yyyy,但在数据库中则显示为 yyyy-mm-dd。这不是问题,但是当将该数据拉回我的网站时,我希望日期以 dd-mm-yyyy 格式显示。我在数据表中显示数据。我目前使用的代码是:
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;
从数据库中获取的所有数据都运行良好等等,只是好奇我缺少什么来更改日期格式。
非常感谢任何帮助。
好吧,您必须实际更改日期格式。
最简单的方法是将日期转换为时间戳,然后使用 date
函数以您想要的任何格式显示日期。您可以使用 strtotime function to turn it into a timestamp, and date 有很多显示选项。
您可以使用以下方法更改日期格式:
$formattedDate = date("d-m-Y", strtotime($myrow["date"]));
不要使用 $date 变量,而是使用 $formattedDate :-)
格式化日期:
http://php.net/manual/en/function.date.php
$d = new DateTime($date);
$formatted= date_format($d, 'Y m d');
直接来自 PHP documentation。
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.....
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;