如何将当前日期与存储在MySQL db中的日期进行比较?

时间:2011-03-15 16:05:54

标签: php mysql date

我正在编写一个上传器,它将使用CURDATE()上传文件的日期保存到数据库中。我想将当前日期与存储在数据库中的日期进行比较,以便根据感知上传的时间长度更改与文件相关的图标的颜色。例如,如果不到一周,图标将为绿色,如果超过一周,则为黄色,如果超过两周,则为红色。我该怎么做?感谢。

3 个答案:

答案 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>位)。与“自然”逻辑相比,我制定它的方式有点倒退,但它意味着:

  1. 如果日期在1周后,绿色
  2. 否则,如果日期在2周后,黄色
  3. 其他,红色

答案 2 :(得分:0)

从MySQL获得日期后,您可以使用strtotime($ result ['date'])来获取时间戳,然后使用它做任何你想做的事情。