如何识别用户在MySQL数据库中更新帐户后的时间?我的MySQL表中有一个时间戳(用于存储用户更新时间)所以现在如何使用PHP识别从上次用户更新传递的时间?
例如:
用户上次更新时间:2012-04-08 00:20:00;
现在:2012-04-08 00:40:00;
自上次更新以来经过的时间:20(分钟)←我需要使用PHP
答案 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