我正在编写一个上传器,它将使用CURDATE()上传文件的日期保存到数据库中。我想将当前日期与存储在数据库中的日期进行比较,以便根据感知上传的时间长度更改与文件相关的图标的颜色。例如,如果不到一周,图标将为绿色,如果超过一周,则为黄色,如果超过两周,则为红色。我该怎么做?感谢。
答案 0 :(得分:2)
我认为约会是你正在照顾的事情 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff
mysql> SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
-> 1
mysql> SELECT DATEDIFF('2010-11-30 23:59:59','2010-12-31');
-> -31
答案 1 :(得分:1)
SELECT CASE
WHEN DATE_FIELD >= NOW() - INTERVAL 1 WEEK THEN 'GREEN'
WHEN DATE_FIELD >= NOW() - INTERVAL 2 WEEK THEN 'YELLOW'
ELSE 'RED'
END
FROM A_TABLE`
基本上,这将返回条件(THEN <value>
块)为真的第一个值(它是WHEN <condition>
位)。与“自然”逻辑相比,我制定它的方式有点倒退,但它意味着:
答案 2 :(得分:0)
从MySQL获得日期后,您可以使用strtotime($ result ['date'])来获取时间戳,然后使用它做任何你想做的事情。