LocalDate的用法

日期时间转换
  • 2023-03-30 14:25:00.000
java 复制代码
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss:sss")

private LocalDateTime requestTimeStamp;
  • 2021-06-18T10:46:19.673785+08:00
java 复制代码
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss:sssXXX");
  • yyyy-mm-dd hh:mm:ss.sss +0530
java 复制代码
yyyy-MM-dd HH:mm:ss.SSS Z
  • 24-May-2023
java 复制代码
dd-MMM-yyyy
比较大小
  • isAfter()

firstDate.isAfter(secondDate); //date1是否大于date2 大于的话,true;否则false

  • isBefore()

firstDate.isBefore(secondDate); //是否小于

  • isEqual()

firstDate.isEqual(secondDate);//相等,true;否则false

  • LocalDate.now();

获取当前时间

  • localDate1.plusDays(5);

localDate1加五天

  • localDate2.minusDays(1);

localDate2减一天

用Stream分组
java 复制代码
        Map<String, List<Response>> map =list.stream().collect( Collectors.groupingBy(Response::getId, Collectors.toList()));
用Stream分组后只取日期最新
java 复制代码
 ArrayList<Response> groupedList =  new ArrayList<>(list.stream()
                .collect(Collectors.toMap(Response::getId, Function.identity(),
                        (c1, c2) -> c1.getDetails().getCreateDate().isAfter(c2.getDetails().getCreateDate()) ? c1 : c2))
                .values());
用Stream先分组后排序
  • 按日期分组后,按日期倒序排序

按日期分组后,为map<LocalDate,List<Response>>

java 复制代码
  Map<LocalDate, List<Response>> result = new LinkedHashMap<>();
        map.entrySet().stream().sorted(Collections.reverseOrder(Map.Entry.comparingByKey())).forEachOrdered(x -> result.put(x.getKey(), x.getValue()));

ps:因为如果有内部类 用不了两层 :: 所以只能先转Map

  • 按同一订单号分组后,按日期排序
stream筛选

过期的放进list

java 复制代码
List<Response> overdueList = list.stream().filter(response-> response.getDetails().getDueDate().isBefore(LocalDate.now())).collect(Collectors.toList());
相关推荐
AI人工智能+电脑小能手13 分钟前
【大白话说Java面试题】【Java基础篇】第20题:HashMap在计算index的时候,为什么要对数组长度做减1操作
java·开发语言·数据结构·后端·面试·哈希算法·hash-index
嵌入式×边缘AI:打怪升级日志15 分钟前
嵌入式Linux开发(了解交叉编译工具链的组成)
java·linux·运维
FreeGo~24 分钟前
Linux 系统编程 进程篇 (五)
java·linux·服务器
XiYang-DING44 分钟前
【Java EE】定时器
java·python·java-ee
Fuly10241 小时前
java面试知识点复习
java·开发语言·面试
信徒_1 小时前
API 网关技术选型
java
simple-L61 小时前
Java开发痛点技术文章大纲
java·开发语言
千寻girling2 小时前
滑动窗口刷了快一个月(26天)了 , 还没有刷完. | 含(操作系统学什么的Java 后端)
java·开发语言·javascript·c++·人工智能·后端·python
小手cool2 小时前
Java字符串按空行分割,包括末尾的空行
java
呱牛do it2 小时前
企业级门户网站设计与实现:基于SpringBoot + Vue3的全栈解决方案(Day 9)
java