从MySQL和现在比较PHP中的UNIXTIME

时间:2016-08-05 08:27:13

标签: php mysql

我从MySQL获得了一个UNIXTIME标记,我真的想将它与现在进行比较,看看两者之间有多少时间;就像在xx秒前一样。

我一点也不确定,简单的谷歌搜索帮助我无处可去。

非常感谢向正确的方向前进!

3 个答案:

答案 0 :(得分:1)

您可以使用time()获取PHP中当前的unix时间戳(这是自格林威治标准时间1970-01-01 0:00:00以来的秒数)。

可以使用简单的减法进行比较,其中$mysqltimestamp是来自MySQL的时间戳。

$elapsedTimeInSeconds = abs($mysqltimestamp - time());

除了使用PHP,您还可以直接计算MySQL数据库中的差异(参见http://dev.mysql.com/doc/en/date-and-time-functions.html),这也可以防止可能的时区问题。

select (timestampcol - UNIX_TIMESTAMP()) as timetiff FROM yourtable

答案 1 :(得分:0)

使用time()

http://php.net/manual/en/function.time.php

php中的此方法返回当前时间,也作为UNIX-Timestamp。

使用以下代码,您可以获得从现在到数据库的时间之间的秒数:

$time = time();
$difference = $time - $database_time;

答案 2 :(得分:0)

一个好的做法是不要将php时间与mysql时间进行比较。

如果你打算使用mysql时间,你应该再对mysql服务器中的当前时间戳进行一次查询,然后执行以下操作:

$diff = $mysqlCurrentTimestamp - $mysqlTimestamp;

您的mysql服务器可以与您的php服务器位于不同的时区。最好只使用来自php的时间,因为它更容易操作。