Php 如何将当前日期与MySQL数据库中存储的日期进行比较?

Php 如何将当前日期与MySQL数据库中存储的日期进行比较?,php,mysql,date,Php,Mysql,Date,我正在编写一个上载程序,它使用CURDATE()将文件上载的日期保存到数据库中。我想将当前日期与存储在数据库中的日期进行比较,以便根据上传的时间更改与文件相关的图标的颜色。例如,如果少于一周,图标将为绿色,如果超过一周,图标将为黄色,如果超过两周,图标将为红色。我怎么做?谢谢。我想datediff是你要照顾的东西 一旦你从MySQL中获得了日期,你就可以使用strotime($result['date'])来获取时间戳,然后用它做任何你想做的事情 SELECT CASE WHEN D

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

我想datediff是你要照顾的东西


一旦你从MySQL中获得了日期,你就可以使用strotime($result['date'])来获取时间戳,然后用它做任何你想做的事情

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`
基本上,这将返回第一个值(它是<代码>然后<代码>位),条件(当<代码>块时<代码>位)为真。与“自然”逻辑相比,我的表述方式有点落后,但它意味着:

  • 如果日期是从现在起1周内,则为绿色
  • 否则,如果日期在2周内,则为黄色
  • 否则,红色

  • 到目前为止,您尝试了什么并发布了代码?
    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`