做的任务是一个同环比分析任务,最难的部分就是在时间的处理上,这里给出一些自己的见解,大家可以参考。
首先要做出的效果是开始时间为“2023-11-01”,结束时间为“2024-02-29”,这个时间是让前端传过来的,可以让前端传的开始时间是每个月的月初,结束时间是每个月的月末,当然我们也能自己处理,这块我是让前端传的
然后我们就要把这段时间进行处理,获得如下的时间结果,最后的代码打印如下
本月: 2023-11-01 至 2023-11-30
上个月: 2023-10-01 至 2023-10-31
去年的这个月: 2022-11-01 至 2022-11-30
本月: 2023-12-01 至 2023-12-31
上个月: 2023-11-01 至 2023-11-30
去年的这个月: 2022-12-01 至 2022-12-31
本月: 2024-01-01 至 2024-01-31
上个月: 2023-12-01 至 2023-12-31
去年的这个月: 2023-01-01 至 2023-01-31
本月: 2024-02-01 至 2024-02-29
上个月: 2024-01-01 至 2024-01-31
去年的这个月: 2023-02-01 至 2023-02-28
业务代码如下
public void test() {
//对开始时间和结束时间进行分解,拿到每个月的时间开始时间和结束时间
LocalDate startDate = LocalDate.parse("2023-11-01", DateTimeFormatter.ISO_LOCAL_DATE);
LocalDate endDate = LocalDate.parse("2024-02-29", DateTimeFormatter.ISO_LOCAL_DAT