Как я могу получить разницу между отметкой времени mysql и текущим временем php? - PullRequest
2 голосов
/ 28 июня 2011

Вопрос, который я предполагаю, является видом двух вопросов:

  1. Как я могу получить текущее время в php и в формате, который легко сравнить с
  2. Как только я получу это, у меня будет отметка времени mysql в этом формате, 2011-06-30 04:33:00, которую мне нужно сравнить с текущим временем php.

заранее большое спасибо, Binny

Ответы [ 3 ]

5 голосов
/ 28 июня 2011

Я предполагаю, что вы храните его как столбец 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
    ...
2 голосов
/ 28 июня 2011

strtotime($query_result['timestamp'])

Это преобразует значение метки времени MySQL в правильные секунды с 1 января 1970 года.Тогда нужно просто вычесть два, чтобы получить разницу.

0 голосов
/ 29 июня 2011

Одна вещь, которую вы должны проверить: два раза идут от одной машины? Если они поступают с разных компьютеров, вам следует беспокоиться о часовых поясах и синхронизации.

...