我现在您正在寻找 PHP 解决方案,但您可以直接在 SQL 中以有效的方式完成这项工作,并且您可以避免签入 php。查看演示 URL 并检查输出。
http://sqlfiddle.com/#!2/ca91e/26
表:
create table t (id int(3), date varchar(40));
insert into t values (1, '25/03/2013 07:40:23'),
(2, '26/03/2013 07:40:23'),
(3, '20/03/2013 07:40:23');
SQL:
SELECT id, date_format(curdate(), '%Y-%m-%d %h:%i:%s') AS CurrDate,
date_format(STR_TO_DATE(date, '%d/%m/%Y %h:%i:%s'), '%Y-%m-%d %h:%i:%s') AS MyDate,
if(datediff(date_format(curdate(), '%Y-%m-%d %h:%i:%s'), date_format(STR_TO_DATE(date, '%d/%m/%Y %h:%i:%s'), '%Y-%m-%d %h:%i:%s'))<=7,
datediff(date_format(curdate(), '%Y-%m-%d %h:%i:%s'), date_format(STR_TO_DATE(date, '%d/%m/%Y %h:%i:%s'), '%Y-%m-%d %h:%i:%s')), 'closed') AS Text
FROM t;
输出:
ID CURRDATE MYDATE TEXT
1 2013-03-29 12:00:00 2013-03-25 07:40:23 4
2 2013-03-29 12:00:00 2013-03-26 07:40:23 3
3 2013-03-29 12:00:00 2013-03-20 07:40:23 closed