记录一次获取时间的方法。以备后续所需;
需要的依赖是
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core</artifactId> <version>5.4.0</version> </dependency>
// 先定义一个起始日期类
@Data
@NoArgsConstructor
public class MyDate {
private DateTime start;
private DateTime end;
}
package com.example.demo;/*
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(DateUtil.beginOfYear(new Date()));
Map<Integer, MyDate> dateMap = new HashMap<>(16);
Date date;
MyDate myDate;
int temp = 12;
int temp1 = 10;
// 月份
for (int i=1; i<17; i++) {
myDate = new MyDate();
if (i < 13) {
date = calendar.getTime();
calendar.add(Calendar.MONTH, 1);
myDate.setStart(DateUtil.beginOfMonth(date));
myDate.setEnd(DateUtil.endOfMonth(date));
dateMap.put(i,myDate);
// 季度 13~16分别代表 一到四季度
} else {
myDate.setStart(dateMap.get(i - temp ).getStart());
myDate.setEnd(dateMap.get(i - temp1).getEnd());
dateMap.put(i,myDate);
temp-=2;
temp1-=2;
}
}
for (Map.Entry<Integer, MyDate> myDateEntry : dateMap.entrySet()) {
System.out.println( "月份: "+myDateEntry.getKey() + " ,日期起始: " + myDateEntry.getValue());
}
}
}
效果展示: 1~12 为当年的 十二个月,13~16是四个季度