diff --git a/pqs-prepare/prepare-api/pom.xml b/pqs-prepare/prepare-api/pom.xml index fb7a64650..03b87c456 100644 --- a/pqs-prepare/prepare-api/pom.xml +++ b/pqs-prepare/prepare-api/pom.xml @@ -8,8 +8,8 @@ 1.0.0 4.0.0 - prepare-api + 预处理对外接口模块 diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/utils/PublicUtil.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/utils/PublicUtil.java new file mode 100644 index 000000000..bb9436046 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/utils/PublicUtil.java @@ -0,0 +1,100 @@ +package com.njcn.prepare.harmonic.utils; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.njcn.device.pq.constant.Param; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +public class PublicUtil { + + /** + * 获取某年某月的第一天 + */ + public static String getFisrtDayOfMonth(int year,int month){ + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR,year); + //设置月份 + cal.set(Calendar.MONTH, month-1); + //获取某月最小天数 + int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return sdf.format(cal.getTime()); + } + + /** + * 获取某月的最后一天 + */ + public static String getLastDayOfMonth(int year,int month) + { + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR,year); + //设置月份 + cal.set(Calendar.MONTH, month-1); + //获取某月最大天数 + int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最大天数 + cal.set(Calendar.DAY_OF_MONTH, lastDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return sdf.format(cal.getTime()); + } + + /** + * 根据类型获取日期的开始和结束 + */ + public static Map getBeginAndEndByDate(Integer type, Date date) + { + Map result = new HashMap<>(); + DateTime startTime = null; + DateTime endTime = null; + //年 季 月 周 日 + if (Param.YEAR.equals(type)){ + startTime = DateUtil.beginOfYear(date); + endTime = DateUtil.endOfYear(date); + }else if(Param.QUARTER.equals(type)){ + startTime = DateUtil.beginOfQuarter(date); + endTime = DateUtil.endOfQuarter(date); + }else if(Param.MONTH.equals(type)){ + startTime = DateUtil.beginOfMonth(date); + endTime = DateUtil.endOfMonth(date); + }else if(Param.WEEK.equals(type)){ + startTime = DateUtil.beginOfWeek(date); + endTime = DateUtil.endOfWeek(date); + }else if(Param.DAY.equals(type)){ + startTime = DateUtil.beginOfDay(date); + endTime = DateUtil.endOfDay(date); + } + result.put("startTime",startTime); + result.put("endTime",endTime); + return result; + } + /** + * @Description: 返回当前季度 + * @Param: [datadate]时间格式yyyy-MM-dd + * @return: java.lang.String + * @Author: clam + * @Date: 2022/11/30 + */ + public static Integer getNowQuarter(String datadate ) + { + Integer temp =Integer.valueOf (datadate.substring (5, 7)) ; + return temp%3==0?temp/3:temp/3+1; + } + + public static void main(String[] args) { +// Integer temp =Integer.valueOf ("2002-08-07".substring (5, 7)) ; + System.out.println (111 ); + System.out.println ( PublicUtil.getNowQuarter ("2002-01-07")); + } + +}