我是靠谱客的博主 幸福烤鸡,最近开发中收集的这篇文章主要介绍用java8的LocalDate实现最近几个月查询,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天又得到了大佬的关爱,大佬教我用LocalDate

       long num = 6l; //最近几个月
        
        // 月份
        LocalDate end = LocalDate.now().minusMonths(1);
        // 起始时间
        LocalDate start =  end.minusMonths(num);
        LocalDate firstday = LocalDate.of(start.getYear(), start.getMonthValue(), 1);
        //本月的最后一天
        LocalDate lastTheMonthDay = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth());
        //上月的最后一天
        LocalDate lastMonthDay = end.with(TemporalAdjusters.lastDayOfMonth());
        
        System.out.println(end);
        System.out.println(start);
        System.out.println(firstday);
        System.out.println(lastTheMonthDay);
        System.out.println(lastMonthDay);

 

 

然后查询的时候 mybatis sql语句就写


<if test="start !=null">
<![CDATA[and take_time > #{start}]]>
</if>
<if test="end !=null">
<![CDATA[and take_time <= #{end}]]>
</if>

就搞定。真好用!真香!

补充:

 

 

 

final SimpleDateFormat ymdSimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
// 获取查询起始时间
DateTimeFormatter yyyyMM = DateTimeFormatter.ofPattern("yyyy-MM");
DateTimeFormatter yyyyMMdd = DateTimeFormatter.ofPattern("yyyy-MM-dd");
long num = 12; // 几个月区间
List<String> yearMonth = new ArrayList<>();
List<String> yearMonthDay = new ArrayList<>();
List<Date> yearMonthDayDates = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
for (int i = 0; i < num; i++) {
now = now.minusMonths(1);
yearMonth.add(yyyyMM.format(now));
String yyyyMMddStr = yyyyMMdd.format(now);
yearMonthDay.add(yyyyMMddStr);
yearMonthDayDates.add(ymdSimpleDateFormat.parse(yyyyMMddStr));
}
LocalDateTime start = LocalDateTime.of(now.getYear(), now.getMonthValue(), 1, 0, 0);
// 结束时间
LocalDateTime end = LocalDateTime.now().minusMonths(1);
LocalDateTime lastMonthDay = end.with(TemporalAdjusters.lastDayOfMonth());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
for (Date date : yearMonthDayDates) {
System.out.println(format.format(date));
}

List反序:Collections.reverse(list);

最后

以上就是幸福烤鸡为你收集整理的用java8的LocalDate实现最近几个月查询的全部内容,希望文章能够帮你解决用java8的LocalDate实现最近几个月查询所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部