我从MySQL获得了一个UNIXTIME标记,我真的想将它与现在进行比较,看看两者之间有多少时间;就像在xx秒前一样。
我一点也不确定,简单的谷歌搜索帮助我无处可去。
非常感谢向正确的方向前进!
答案 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的时间,因为它更容易操作。