1

如何确定用户在我的 MySQL 数据库中更新他的帐户后经过的时间?我的 MySQL 表中有一个时间戳(用于存储用户更新时间),那么现在如何使用 PHP 识别上次用户更新所经过的时间?

例如:

用户最后更新时间:2012-04-08 00:20:00;

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

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

4

4 回答 4

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获取自上次更新以来经过的分钟数。

希望这可以帮助 ;)

于 2012-04-08T04:18:26.357 回答
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;
于 2012-04-08T04:18:22.920 回答
0
$secs=time()-strtotime($timestamp);

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

于 2012-04-08T04:17:23.360 回答
0

为什么不用 mysql 来做:

select TIMEDIFF(NOW(),db_timestamp) as time_past
于 2012-04-08T04:17:59.367 回答