|  |  |  | 
|---|
|  |  |  | throw e; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getTimeStrBySecond(Long seconds)  { | 
|---|
|  |  |  | String returnTime ="0时0分0秒"; | 
|---|
|  |  |  | long longHour = 0; | 
|---|
|  |  |  | long longMinu = 0; | 
|---|
|  |  |  | long longSec =seconds ==null?0:seconds; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if (longSec == 0) { | 
|---|
|  |  |  | returnTime = "0时0分0秒"; | 
|---|
|  |  |  | return returnTime; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | longHour = longSec / 3600; // 取得小时数 | 
|---|
|  |  |  | longSec = longSec % 3600; // 取得余下的秒 | 
|---|
|  |  |  | longMinu = longSec / 60; // 取得分数 | 
|---|
|  |  |  | longSec = longSec % 60; // 取得余下的秒 | 
|---|
|  |  |  | returnTime = longHour + "时" + longMinu + "分" + longSec + "秒"; | 
|---|
|  |  |  | return returnTime; | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return returnTime; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Descrption:取得当前日期,格式为:yyyy-MM-dd HH:mm:ss | 
|---|
|  |  |  | 
|---|
|  |  |  | //            System.out.println(DateUtil.afterMinutesDate(-5)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | System.out.println(DateUtil.getBeforMonthStr(new Date(),1)); | 
|---|
|  |  |  | System.out.println(DateUtil.getBeforMonthStr(new Date(),12)); | 
|---|
|  |  |  | System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1))); | 
|---|
|  |  |  | //            System.out.println(DateUtil.getBeforMonthStr(new Date(),12)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //            List<Date> list =getThisMonthDateList(); | 
|---|
|  |  |  | //            for(Date d :list){ | 
|---|
|  |  |  | 
|---|
|  |  |  | return dateBeforeDay.toString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取X年后的日期 | 
|---|
|  |  |  | * @param date | 
|---|
|  |  |  | * @param beforMonths 下年 -1  上年 1 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static String getBeforYear(Date date,Integer beforMonths){ | 
|---|
|  |  |  | ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault()); | 
|---|
|  |  |  | // 转换为java.time.LocalDate,计算x天的日期 | 
|---|
|  |  |  | LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusYears(beforMonths); | 
|---|
|  |  |  | return dateBeforeDay.toString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本周的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfWeek(int addYears) { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | if (date == null) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(date); | 
|---|
|  |  |  | cal.set(Calendar.YEAR,getNowYearNum()+addYears); | 
|---|
|  |  |  | int dayofweek = cal.get(Calendar.DAY_OF_WEEK); | 
|---|
|  |  |  | if (dayofweek == 1) { | 
|---|
|  |  |  | dayofweek += 7; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | cal.add(Calendar.DATE, 2 - dayofweek); | 
|---|
|  |  |  | return getDayStartTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本周的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfWeek(int addYears) { | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(getBeginDayOfWeek(addYears)); | 
|---|
|  |  |  | cal.add(Calendar.DAY_OF_WEEK, 6); | 
|---|
|  |  |  | Date weekEndSta = cal.getTime(); | 
|---|
|  |  |  | return getDayEndTime(weekEndSta); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上周的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfLastWeek() { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | if (date == null) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(date); | 
|---|
|  |  |  | cal.set(Calendar.YEAR,getNowYearNum()); | 
|---|
|  |  |  | int dayofweek = cal.get(Calendar.DAY_OF_WEEK); | 
|---|
|  |  |  | if (dayofweek == 1) { | 
|---|
|  |  |  | dayofweek += 7; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | cal.add(Calendar.DATE, 2 - dayofweek - 7); | 
|---|
|  |  |  | return getDayStartTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上周的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfLastWeek() { | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(getBeginDayOfLastWeek()); | 
|---|
|  |  |  | cal.add(Calendar.DAY_OF_WEEK, 6); | 
|---|
|  |  |  | Date weekEndSta = cal.getTime(); | 
|---|
|  |  |  | return getDayEndTime(weekEndSta); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本月的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfMonth(int addYears) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1); | 
|---|
|  |  |  | return getDayStartTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本月的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfMonth(int addYears) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1); | 
|---|
|  |  |  | int day = calendar.getActualMaximum(5); | 
|---|
|  |  |  | calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, day); | 
|---|
|  |  |  | return getDayEndTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上月的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfLastMonth() { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1); | 
|---|
|  |  |  | return getDayStartTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上月的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfLastMonth() { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1); | 
|---|
|  |  |  | int day = calendar.getActualMaximum(5); | 
|---|
|  |  |  | calendar.set(getNowYearNum(), getNowMonthNum() - 2, day); | 
|---|
|  |  |  | return getDayEndTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本年的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfYear(int addYears) { | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.set(Calendar.YEAR, getNowYearNum()+addYears); | 
|---|
|  |  |  | cal.set(Calendar.MONTH, Calendar.JANUARY); | 
|---|
|  |  |  | cal.set(Calendar.DATE, 1); | 
|---|
|  |  |  | return getDayStartTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本年的结束时间 | 
|---|
|  |  |  | public static java.util.Date getEndDayOfYear(int addYears){ | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.set(Calendar.YEAR, getNowYearNum()+addYears); | 
|---|
|  |  |  | cal.set(Calendar.MONTH, Calendar.DECEMBER); | 
|---|
|  |  |  | cal.set(Calendar.DATE, 31); | 
|---|
|  |  |  | return getDayEndTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取当天的开始时间 | 
|---|
|  |  |  | public static java.util.Date getDayBegin() { | 
|---|
|  |  |  | Calendar cal = new GregorianCalendar(); | 
|---|
|  |  |  | cal.set(Calendar.HOUR_OF_DAY, 0); | 
|---|
|  |  |  | cal.set(Calendar.MINUTE, 0); | 
|---|
|  |  |  | cal.set(Calendar.SECOND, 0); | 
|---|
|  |  |  | cal.set(Calendar.MILLISECOND, 0); | 
|---|
|  |  |  | return cal.getTime(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取当天的结束时间 | 
|---|
|  |  |  | public static java.util.Date getDayEnd() { | 
|---|
|  |  |  | Calendar cal = new GregorianCalendar(); | 
|---|
|  |  |  | cal.set(Calendar.HOUR_OF_DAY, 23); | 
|---|
|  |  |  | cal.set(Calendar.MINUTE, 59); | 
|---|
|  |  |  | cal.set(Calendar.SECOND, 59); | 
|---|
|  |  |  | return cal.getTime(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取某个日期的开始时间 | 
|---|
|  |  |  | public static Timestamp getDayStartTime(Date d) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | if (null != d) | 
|---|
|  |  |  | calendar.setTime(d); | 
|---|
|  |  |  | calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), | 
|---|
|  |  |  | calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); | 
|---|
|  |  |  | calendar.set(Calendar.MILLISECOND, 0); | 
|---|
|  |  |  | return new Timestamp(calendar.getTimeInMillis()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取某个日期的结束时间 | 
|---|
|  |  |  | public static Timestamp getDayEndTime(Date d) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | if (null != d) | 
|---|
|  |  |  | calendar.setTime(d); | 
|---|
|  |  |  | calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), | 
|---|
|  |  |  | calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59); | 
|---|
|  |  |  | calendar.set(Calendar.MILLISECOND, 999); | 
|---|
|  |  |  | return new Timestamp(calendar.getTimeInMillis()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取今年是哪一年 | 
|---|
|  |  |  | public static Integer getNowYearNum() { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); | 
|---|
|  |  |  | gc.setTime(date); | 
|---|
|  |  |  | return Integer.valueOf(gc.get(1)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本月是哪一月 | 
|---|
|  |  |  | public static int getNowMonthNum() { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); | 
|---|
|  |  |  | gc.setTime(date); | 
|---|
|  |  |  | return gc.get(2) + 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|