package com.matrix.system.hiveErp.analysUtil; import com.matrix.core.tools.DateUtil; import org.apache.commons.collections.MapUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * 统计分析时间工具 * @author jyy */ public class StatisticsTimeUtil { /** * 获取map中的值为数组 * @param yAxisMap * @return */ public static String[] getSeries(Map yAxisMap) { if (MapUtils.isNotEmpty(yAxisMap)) { String[] seroes = new String[yAxisMap.size()-1]; for (int index=0; index xAxis, StatisticsParamVo statisticsParam) { String[] dates=new String[xAxis.size()]; String dataFmt=""; switch (statisticsParam.getStatisticsUnit()){ case "时": dataFmt= DateUtil.DATE_FORMAT_HH; break; case "日": dataFmt=DateUtil.DATE_FORMAT_DD; break; case "月": dataFmt=DateUtil.MONTH; break; case "年": dataFmt=DateUtil.YEAR; break; } for(int i=0 ; i buidParam(List xAxis) { List daoParams = new ArrayList<>(); for(int i=0 ;i getTimeSpace(String beginTime, String endTime, String statisticsUnit) { List result=new ArrayList<>(); switch (statisticsUnit){ case "时": return getTimeSpaceByHours(beginTime,endTime); case "日": return getTimeSpaceByDay(beginTime,endTime); case "月": return getTimeSpaceByMonth(beginTime,endTime); case "年": return getTimeSpaceByYear(beginTime,endTime); default: return result; } } private static List getTimeSpaceByYear(String beginTime, String endTime){ List tims=new ArrayList(); Date begin= DateUtil.stringToDate(beginTime,DateUtil.YEAR); Date end= DateUtil.stringToDate(endTime,DateUtil.YEAR); tims.add(begin); while(DateUtil.isAffterDate(begin,end)){ begin=DateUtil.getDateAfterYear(begin,1); tims.add(begin); } begin=DateUtil.getDateAfterYear(begin,1); tims.add(begin); return tims; } private static List getTimeSpaceByMonth(String beginTime, String endTime){ List tims=new ArrayList(); Date begin= DateUtil.stringToDate(beginTime,DateUtil.MONTH); Date end= DateUtil.stringToDate(endTime,DateUtil.MONTH); tims.add(begin); while(DateUtil.isAffterDate(begin,end)){ begin=DateUtil.getDateAfterMonth(begin,1); tims.add(begin); } begin=DateUtil.getDateAfterMonth(begin,1); tims.add(begin); return tims; } private static List getTimeSpaceByDay(String beginTime, String endTime){ List tims=new ArrayList(); Date begin= DateUtil.stringToDate(beginTime,DateUtil.DATE_FORMAT_DD); Date end= DateUtil.stringToDate(endTime,DateUtil.DATE_FORMAT_DD); tims.add(begin); while(DateUtil.isAffterDate(begin,end)){ begin=DateUtil.getDateAfter(begin,1); tims.add(begin); } begin=DateUtil.getDateAfter(begin,1); tims.add(begin); return tims; } private static List getTimeSpaceByHours(String beginTime, String endTime){ List tims=new ArrayList(); Date begin= DateUtil.stringToDate(beginTime,DateUtil.DATE_FORMAT_HH); Date end= DateUtil.stringToDate(endTime,DateUtil.DATE_FORMAT_HH); tims.add(begin); while(DateUtil.isAffterDate(begin,end)){ begin=DateUtil.getDateAfterHours(begin,1); tims.add(begin); } begin=DateUtil.getDateAfterHours(begin,1); tims.add(begin); return tims; } public static void main(String[] args) { List tims= getTimeSpaceByYear("2014","2019"); for (Date time: tims) { System.out.println(time.toLocaleString()); } } }