/**
根据季度数获取季度的开始时间结束时间
*/
public static Map<String, String> getQuarterStartEndTime(int quarter) {
Map<String, String> result = new HashMap<>();
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
try {
if (quarter == 1 ) {
start.set(Calendar.MONTH, 0);
start.set(Calendar.DATE,1);
end.set(Calendar.MONTH, 2);
end.set(Calendar.DATE, 31);
} else if (quarter == 2) {
start.set(Calendar.MONTH, 3);
start.set(Calendar.DATE,1);
end.set(Calendar.MONTH, 5);
end.set(Calendar.DATE, 30);
} else if (quarter == 3) {
start.set(Calendar.MONTH, 6);
start.set(Calendar.DATE,1);
end.set(Calendar.MONTH, 8);
end.set(Calendar.DATE, 30);
} else if (quarter == 4) {
start.set(Calendar.MONTH, 9);
start.set(Calendar.DATE,1);
end.set(Calendar.MONTH, 11);
end.set(Calendar.DATE, 31);
}
end.add(Calendar.DATE,1);
result.put("startTime",DateUtils.format(start.getTime()));
result.put("endTime",DateUtils.format(end.getTime()));
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
}
/**
根据时间获取月份
*/
private static int getMonth(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.MONTH)+1;
}
/**
* 获取季度
* @param date
* @return
*/
private static int getSeason(Date date) {
int season = 0;
Calendar c = Calendar.getInstance();
c.setTime(date);
int month = c.get(Calendar.MONTH);
switch (month) {
case Calendar.JANUARY:
case Calendar.FEBRUARY:
case Calendar.MARCH:
season = 1;
break;
case Calendar.APRIL:
case Calendar.MAY:
case Calendar.JUNE:
season = 2;
break;
case Calendar.JULY:
case Calendar.AUGUST:
case Calendar.SEPTEMBER:
season = 3;
break;
case Calendar.OCTOBER:
case Calendar.NOVEMBER:
case Calendar.DECEMBER:
season = 4;
break;
default:
break;
}
return season;
}