mysql时间格式化函数日期格式h和H区别

时间:2023-12-21 17:59:14

本文为博主原创,未经允许不得转载:

今天碰到一个问题,发现项目中有一个统计图的数据和时间格式没有对应准确,统计图要描述的是操作次数和操作时间的关系,

但很奇怪的是操作次数对应的时间却是凌晨,实际应用中操作次数对应的时间都是白天时间,所以就出现了时间对应的异常。

仔细检查代码,发现代码的逻辑和实现并没有问题,经过逐字的推敲,发现在进行数据库查询时,传入的时间格式化的时间格式

  map.put("dateType", "%Y-%m-%d %h");

在数据库查询的时候,运用了MySQL时间格式化函数:

DATE_FORMAT(createTime,#{dateType})

由于数据库保存时间格式是用了24小时制,所以在这边统计的时候就统计成了12小时制,导致时间产生了偏差。将查询的时间格式化

改为H的时候,统计图中的数据就显示正常了。

在此铭记,由于很小的问题带来的bug。掌握一定要仔细和用心。