1

我有一个事件议程设置为从数据库中填充,从循环中回显行。

我看到如何格式化以获得我想要的时间: date("g:i a") 但我似乎无法让它在我的 php 代码中工作。

我让循环将数据打印到 $row,然后像这样指定哪条数据:

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

其中 start_time 是我的数据库中的列,它是日期时间数据。

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

我想只返回时间(而不是日期),并将其设置为上午 7:00。

谢谢!

编辑添加:这里有更多代码可能会阐明我正在努力的地方:

   $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>                   
4

2 回答 2

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

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

于 2012-07-13T19:01:53.080 回答
0

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

于 2012-07-13T19:01:32.990 回答