2017-05-23 18 views
1

添加数据时,它以dd-mm-yyyy的形式输入,但是在数据库中则显示为yyyy-mm-dd。这不是一个问题,但是当把数据拉回到我的网站上时,我希望日期以dd-mm-yyyy格式显示。 Im在数据表中显示数据。我目前使用的代码是:从数据库中被带到更改日期显示在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; 

所有数据都通过工作完美等,只是好奇,什么我在想念更改日期格式。

任何帮助,非常感谢。

+0

日期( '所需的格式,无论是D-M-Y',的strtotime($日期)); – clearshot66

+0

你有什么尝试?您可以将[日期功能](http://php.net/manual/en/function.date.php)与[strtotime]结合使用(http://php.net/manual/en/function.strtotime .php),或者你可以使用[DateTime类](http://php.net/manual/en/class.datetime.php)。 – aynber

+0

@aynber当前得到日期('d-m-Y',strtotime($ date));在while循环内,但没有任何不同 – Mucca019

回答

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; 
+0

是的,这就是我现在得到的,也感谢您的整理 – Mucca019

0

那么,你必须真正改变日期格式。

最简单的方法是将日期转换为时间戳,然后使用date函数以任何您想要的格式显示日期。您可以使用strtotime函数将其转换为时间戳,并且date有许多显示选项。

1

您可以使用以下方法来更改日期格式:

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

而不是使用$ date变量,使用$ formattedDate :-)

+0

多数民众赞成在工作,欢呼 – Mucca019

+0

对于更广泛的日期转换请看[DateTime](http://php.net/manual/en/book.datetime.php):-) – jrn

0

直接从PHP documentation

d - 的一个月中的天,2位有前导零 - 01到31
米 - 一个月的数字表示,带前导零 - 01至12
ý - 一年的完整数字表示,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.....