在结果来自循环时在php中格式化时间

时间:2012-07-13 18:58:25

标签: php mysql

我设置了一个事件议程,用于从数据库填充,回显循环中的行。

我看到如何格式化以获得我想要的时间:date(“g:我是”)但是我似乎无法在我的php代码中使其工作。

我正在循环将数据打印到$行,然后指定这样的数据:

    <td>' .$row['start_time'] . '</td>

start_time是我的数据库中的日期时间数据。

我尝试了几种不同的方法来添加日期时间的格式,但是没有一种方法能够成功返回结果。如何格式化此代码以便显示?我可以将它作为一个功能,还是可以将它添加到我在这里的线路?

我想回复时间(不是日期),让它像早上7点一样。

谢谢!

编辑添加:这里有更多的代码可以揭示我正在努力的地方:

   $conn = new DatabaseConn();

   $query = "SELECT * FROM agenda WHERE date=\"2012-10-21\" AND visible=\"1\" ORDER BY agenda_id;";

   $result = mysql_query($query);

   if($result){

    $numfields = mysql_num_fields($result);
    $data = array();
    $flist = array();

        for($i=0;$i<$numfields;$i++)$flist[] = mysql_field_name($result,$i);
        $data[0] = $flist;
        while($row = mysql_fetch_assoc($result)){

         $data[] = $row;
         echo '
         <tr>
          <td id="time">'. $row['start_time']) . '</td>
          <td id="time">' . $row['end_time'] . '</td>   
          <td id="title">' . $row['title'] . '</td>
          <td id="description">' . $row['description'] . '</td>
          <td id="room">' . $row['room'] . '</td>
          <td id="type">' . $row['attendee_type'] . '</td>          
         </tr>
         ';
        }

编辑#2添加:这是测试页面上的输出: (复制了视图源而不仅仅是页面)

    <tr>
     <td id="time">2012-10-21 14:00:00 </td>
     <td id="time">2012-10-21 20:00:00</td>
     <td id="title">Registration</td>
     <td id="description">Open registration and conference check-in.</td>
     <td id="room">Lobby</td>
     <td id="type">all</td>
    </tr>                   

2 个答案:

答案 0 :(得分:4)

使用此

echo date("g:i a", $row['start_time']); //$row['start_time'] should be Unix timestamp

否则使用

echo date("g:i a", strtotime($row['start_time'])); 

strtotime 解析English textual datetime description into a Unix timestamp

通过this了解所有日期format字符。

答案 1 :(得分:0)

date('g:i a', strtotime($row['start_time'])); //如果$ row ['start_time']是有效时间戳