场景 统计昨天的数据 所以需要获取昨天的开始结束时间
LocalDate time = LocalDate.now().minusDays(1);
LocalDateTime startTime = time.atTime(LocalTime.MIN);
LocalDateTime endTime = time.atTime(LocalTime.MAX);
使用直接max mysql加一毫秒会导致查到第二天的数据

解决方案
/**
* 获取日期开始时间
*/
public static LocalDateTime getEndOfThisTime(LocalDate localDate){
//2022-06-16T23:59:59.999999999 直接使用这个 mysql会查到第二天的数据 所以需要格式化一下子
LocalDateTime maxTime = localDate.atTime(LocalTime.MAX);
//2022-06-16 23:59:59 String
String maxTimeStr = maxTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//2022-06-16T23:59:59 localDateTime
return LocalDateTime.parse(maxTimeStr,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
在统计前一天数据时,通过LocalDate.MAX加一毫秒会导致查询到次日数据。解决策略详述。
820

被折叠的 条评论
为什么被折叠?



