以人类可读格式的日期

时间:2014-03-29 08:30:03

标签: php mysql

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel='stylesheet' type='text/css' href='style.css'/>
<title>Files</title>
</head>

<body class="body">
<?php
$prodnum = $_GET['prodnum'];

            $con=mysqli_connect("localhost","root","","sp");
            if (mysqli_connect_errno($con))
            {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
            }
                $res = mysqli_query($con,"SELECT * FROM product_info WHERE prodnum = '$prodnum'") OR die(mysqli_error($con)) ;  


                            echo '
                                            <table id="table">
                                            <tr>
                                            <td> <h3> Product Information </h3> </td>
                                            </tr>';


                                while($row = mysqli_fetch_array($res)){
                                            $prodnum=$row[0];
                                            $farm=$row[1];
                                            $sh=$row[2];
                                            $sdate=$row[3];
                                            $pdate=$row[4];
                                            $edate=$row[5];
                                            $cert=$row[6];
                                            $shsite=$row[9];
                                            $farmsite=$row[10];


                                            echo'<tr>
                                            <td> <b> Product Number:</b> '.$prodnum.'
                                            </td>
                                            </tr>
                                            <tr>
                                            <td> <b> Farm:  </b> <a class="links" href='.$farmsite.'> '.$farm.' </a>
                                            </td>
                                            </tr>
                                            <tr>
                                            <td> <b> Slaughter House: </b> <a class="links" href='.$shsite.'> '.$sh.' </a>
                                            </td>
                                            </tr>
                                            <td> <b> Date Slaughtered: </b>'.$sdate.' 
                                            </td>
                                            </tr>
                                            <tr>
                                            <td><b> Date Produced: </b>'.$pdate.' 
                                            </td>
                                            </tr>
                                            <tr>
                                            <td> <b> Expiration Date: </b> '.$edate.' 
                                            </td>
                                            </tr>
                                            <tr>
                                            <td> <b> Certified by: </b> '.$cert.' 
                                            </td>
                                            </tr>
                                            </table>'
                                            ;
                                }


?>
</body>
</html>

此代码显示数据库中的数据。我不知道如何以人类可读的格式在mysql中显示日期。此代码的结果是例如2014-03-04但我想显示它像2013年3月4日。日期的数据类型是mysql数据库中的日期。 我只看到转换时间戳数据类型。我该怎么做?我怎么能把它放在和标签?谢谢。

4 个答案:

答案 0 :(得分:1)

尝试此功能

date('F d, Y',strtotime($your_date_variable));

有关详细信息,请查看here

答案 1 :(得分:1)

echo date("F d, y",strtotime($pdate));

使用php date函数格式化任何日期时间,并使用php strtotime函数将任何字符串转换为日期。它返回&#34; 2014年3月29日&#34;

答案 2 :(得分:1)

继续之前,请查看SQL注入的注释

您可以让MySQL使用date_format功能为您完成此操作。而不是选择*做类似的事情:

SELECT DATE_FORMAT(name_of_datefield, '%M %d, %Y') as slaughterdate, ... FROM ...

或者您可以使用date函数在PHP端执行此操作:

date('F d, Y', $sdate);

因此,对于您的代码,您可以更改:

$sdate=$row[3];
$pdate=$row[4];
$edate=$row[5];

$sdate = date('F d, Y', $row[3]);
$pdate = date('F d, Y', $row[4]);
$edate = date('F d, Y', $row[5]);

答案 3 :(得分:0)

为什么不使用DateTime

$date = new DateTime('2000-01-01');
echo $date->format('jS F Y');

所以在你的情况下你必须这样做

$date = new DateTime($pdate);
echo $date->format('jS F Y');