如何获得mysql时间戳和php当前时间之间的差异


How do I get the difference between a mysql timestamp and the php current time?

我猜问题有两个:

  1. 我如何在php中获取当前时间,并以易于与和进行比较的格式获取当前时间
  2. 一旦我有了它,我就有了一个格式为2011-06-30 04:33:00的mysql时间戳,我需要将其与php当前时间进行比较

提前非常感谢您,Binny

我假设您将其存储为DATETIME列。因此,在MySQL 中

SELECT
    UNIX_TIMESTAMP(`date_column`) AS `timestamp`,
    ...
FROM
    ...

然后,在PHP中:

$time_diff_in_seconds = time() - $query_result['timestamp']

然而,我还是让数据库来做:

SELECT
    TIME_TO_SEC(TIMEDIFF(CURRENT_TIMESTAMP, `date_column`)) AS time_diff,
    ...
FROM
    ...

strtotime($query_result['timestamp'])

这将把MySQL时间戳值转换为自1970年1月1日以来的正确秒数。那么,这只是一个减去两者得到差值的问题。

你应该检查一件事:这两次来自同一台机器吗?如果它们来自不同的机器,您应该担心时区和同步。