在MySQL表中使用DateTime和日期的日期格式存在差异

问题描述

我正在处理具有SLA的票务系统的某些数据表,票证数据库位于MySQL下

SLA是必须在45分钟内解决票证,否则在票证编号旁边会显示一个警告标签

我正在使用此方法:

    $start_date = new DateTime(''.$rows->created_time.'');
    $since_start = $start_date->diff(new DateTime("now"));
    
    $project_id_td .= '<a href="'.$href.'">CITA-'.$project_id.'</a>';
    if ($since_start->i > 45) 
    {
    $project_id_td .= '<span class="label label-danger pull-right">Incumpliendo</span>';
    } 

仅当以天为单位($ since_start-> d> 1)建立标志时有效,但是几分钟或几小时会给我随机数

我认为问题是由日期格式引起的

在数据库中,日期如下:

2020-10-25 13:46:49

是否可以将DateTime和数据库日期设置为相同的格式以实现适当的区别?

预先感谢

解决方法

您可以直接在数据库中进行计算:

select t.*,(created_time + interval 45 minute <= now()) is_sla_met
from mytable t

这会在结果集中添加另一列,称为is_sla_met,如果当前日期时间少于故障单1之后45分钟,则将其设置为created_time,否则为{{ 1}}。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...