2013-05-15 36 views
0

我在表messages中查询字段created的时间戳。 我的数据库表目前为作为..在PHP中查询MySQL时间戳

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
| msg_id | messages | uid_fk | ip | created | uploads | 
| 706 | ........ | 39 | .. | 1368631445 | 0 | 
| 717 | ........ | 39 | .. | 1368640802 | 0 | 
| 705 | ........ | 39 | .. | 1368631238 | 0 | 
| 696 | ........ | 39 | .. | 1368595705 | 0 | 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

这是怎么了,我从created查询时间戳。

public function Time_Stamp($uid){ 
    $res = mysql_query("SELECT created FROM messages WHERE uid_fk='$uid'"); 
    while ($row = mysql_fetch_array($res)) { 
     echo date("g:i", strtotime($row["created"])) . "<br />"; 
    } 
} 

----- -----输出

  1. 9:00
  2. 9:00
  3. 9:00
  4. 9:00 所以基本上只是印刷同时列入清单。

这不是从created字段打印它们的独特时间。我对MySQL并不是很完美,但它也适用于其独特的iD(或者是msg_id,uid_fk),$ uid等于uid_fk,$ uid在另一个表中定义。

我该如何着手让他们的特定iD打印出正确的时间戳。

回答

1
echo date("g:i", $row["created"]); 

strtotime变成一个日期字符串2013-05-15 22:35:00时间戳
date时间戳变成可读的日期字符串
您已在数据库中有时间戳,请勿使用strtotime

+0

感叹,如此简单我很感激! 什么是使用strtotime的好方法?或者哪里会是最正确的地方使用它? – iBrazilian2

+1

有两种(常用)可能的日期表示法:数字时间戳和标准化格式,如“2013-05-15 22:35:00”。在数字时间戳上做数学很容易,并且读取日期字符串更容易。根据需要使用'date'和'strtotime'来将其转换成另一个。 – deceze

+0

太好了,现在我明白了!感谢您的帮助。 – iBrazilian2