方式一:mysql中sql语句查询
### TODAY:今日 THISWEEK:本周 THISMONTH:本月 THISYEAR:本年
<if test="scopeTypeEnum =='TODAY' ">
AND DATE_FORMAT(ode.create_time ,'%Y%m%d') = DATE_FORMAT(NOW() ,'%Y%m%d')
</if>
<if test="scopeTypeEnum =='THISWEEK' ">
AND DATE_FORMAT(ode.create_time ,'%x%v') = DATE_FORMAT(NOW() ,'%x%v')
</if>
<if test="scopeTypeEnum =='THISMONTH' ">
AND DATE_FORMAT(ode.create_time ,'%Y%m') = DATE_FORMAT(NOW() ,'%Y%m')
</if>
<if test="scopeTypeEnum =='THISYEAR' ">
AND DATE_FORMAT(ode.create_time ,'%Y') = DATE_FORMAT(NOW() ,'%Y')
</if>
方式二:java代码中方法
private boolean isToday(LocalDateTime date){
String currentDate = DateUtil.format(DateUtil.date(), DateTimeFormatter.ISO_LOCAL_DATE);
String paramDate = DateUtil.format(date, "yyyy-MM-dd");
return ObjectUtil.equals(currentDate,paramDate);
}
private boolean isThisWeek(LocalDateTime date){
DateTime currentDateTime = DateUtil.date();
java.util.Date paramDate = Date.from(date.atZone(ZoneId.systemDefault()).toInstant());
int currentWeek = DateUtil.weekOfMonth(currentDateTime);
int currentMonth = DateUtil.month(currentDateTime)+1;
int paramWeek = DateUtil.weekOfMonth(paramDate);
int paramMonth = DateUtil.month(paramDate)+1;
return currentMonth ==paramMonth && currentWeek==paramWeek;
}
private boolean isThisMonth(LocalDateTime date){
DateTime currentDateTime = DateUtil.date();
java.util.Date paramDate = Date.from(date.atZone(ZoneId.systemDefault()).toInstant());
int currentMonth = DateUtil.month(currentDateTime)+1;
int paramMonth = DateUtil.month(paramDate)+1;
return currentMonth ==paramMonth;
}
private String getLastDate(String date){
DateTime parse = DateUtil.parse(date,"yyyy-MM");
DateTime dateTime = DateUtil.offset(parse, DateField.YEAR, -1);
return DateUtil.format(dateTime, "yyyy-MM");
}