如何识别用户更新后的时间?

时间:2012-04-08 03:58:00

标签: php mysql time timestamp

如何识别用户在MySQL数据库中更新帐户后的时间?我的MySQL表中有一个时间戳(用于存储用户更新时间)所以现在如何使用PHP识别从上次用户更新传递的时间?

例如:

  

用户上次更新时间:2012-04-08 00:20:00;

     

现在:2012-04-08 00:40:00;

     

自上次更新以来经过的时间:20(分钟)←我需要使用PHP

4 个答案:

答案 0 :(得分:3)

如果你有数据

$last_update_time = '2012-04-08 00:20:00';
$now = time(); //this gets you the seconds since epoch

你可以做到

$last_update_since_epoch = strtotime($last_update_time); //this converts the string to the seconds since epoch

aand ...现在,因为你有两个变量的秒数

$seconds_passed = $now - $last_update_since_epoch;

现在,您可以执行$seconds_passed / 60以获取自上次更新以来的分钟数。

希望这会有所帮助;)

答案 1 :(得分:1)

在伪代码中:

$get_user_time = mysql_query("SELECT timestamp FROM table");
$row = mysql_fetch_array($get_user_time);
$user_time = $row['timestamp'];  //This is the last update time for the user

$now_unformatted = date('m/d/Y h:i:s a', time());
$now = date("m/d/y g:i A", $now_unformatted); // This is the current time

$difference = $now->diff($user_time); // This is the difference

echo $difference;
> = PHP 5.3支持

diff()。否则你可以这样做:

$difference = time() - $user_time;

答案 2 :(得分:0)

$secs=time()-strtotime($timestamp);

在更新之前会给你几秒钟,然后你可以把这个秒转换成你需要的时间格式 echo $secs/60." minutes ago";

答案 3 :(得分:0)

为什么不使用mysql:

select TIMEDIFF(NOW(),db_timestamp) as time_past