PHP unix отметка времени в прошлом - PullRequest
0 голосов
/ 03 августа 2011

Я всегда боролся с этим, делая отметки времени Unix в прошлом, мне нужно найти все записи в mysql, которые старше 30 дней, но, похоже, не могу придумать способ сделать это, не написав многокода, должен быть короткий способ сделать это?

Любая помощь будет оценена

Спасибо

Ответы [ 5 ]

4 голосов
/ 03 августа 2011

с использованием DATE_SUB

select * from mytable where time <
UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day))
2 голосов
/ 03 августа 2011

Использование PHP / MySQL:

$thirtydaysago = time() - (60 * 60 * 24 * 30);

$query = "SELECT * FROM records WHERE time < '$thirtydaysago'";
0 голосов
/ 03 августа 2011

если у вас есть поле данных, чтобы вы могли использовать что-то вроде mysql DATE_SUB для разрешения:

SELECT * FROM mytable WHERE created_at < DATE_SUB(CURDATE(),INTERVAL 30 DAY);
0 голосов
/ 03 августа 2011

Я бы использовал функцию mysql DATEDIFF

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff

с NOW() в качестве одного из аргументов. Количество дней между датами возвращается.

0 голосов
/ 03 августа 2011

Почему бы просто не использовать функцию PHP mktime, передать желаемую дату, и вы ушли:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...