From 660fba5b40303dd661afcc2e2bd54a18d4f53c5c Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 09 Dec 2020 19:14:44 +0800 Subject: [PATCH] add invalid time function --- zq-erp/src/main/java/com/matrix/core/tools/DateUtil.java | 100 +++++++++++++++++++++++++++++++++----------------- 1 files changed, 66 insertions(+), 34 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/core/tools/DateUtil.java b/zq-erp/src/main/java/com/matrix/core/tools/DateUtil.java index bb10294..4fdaef7 100644 --- a/zq-erp/src/main/java/com/matrix/core/tools/DateUtil.java +++ b/zq-erp/src/main/java/com/matrix/core/tools/DateUtil.java @@ -5,6 +5,7 @@ import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -12,7 +13,7 @@ /** * 日期格式化,转换工具类 - * + * * @author Ron * @createTime 2014.08.30 */ @@ -90,7 +91,7 @@ /** * 返回年份 - * + * * @param date * 日期 * @return 返回年份 @@ -137,7 +138,7 @@ } /** * 返回月份 - * + * * @param date * 日期 * @return 返回月份 @@ -149,14 +150,14 @@ c.setTime(date); return c.get(Calendar.MONTH) + 1; } catch (Exception e) { - + } return 0; } /** * 日期转字符串 - * + * * @param date * @param format * @return @@ -172,7 +173,7 @@ /** * 字符串转日期 - * + * * @param dateStr * @param format * @return @@ -183,7 +184,7 @@ try { return fmt.parse(dateStr); } catch (ParseException e) { - + } return null; } @@ -199,7 +200,7 @@ /** * 判断给定的日期是一周中的第几天,注意:按照中国的习惯,周日是第七天 - * + * * @param date * @return */ @@ -225,7 +226,7 @@ /** * 指定时间的下一天 - * + * * @param date * @return */ @@ -241,7 +242,7 @@ cal.add(Calendar.DATE, 1); return cal.getTime(); } catch (Exception e) { - + } return null; @@ -249,7 +250,7 @@ /** * 指定时间的前一天 - * + * * @param date * @return */ @@ -265,7 +266,7 @@ cal.add(Calendar.DATE, -1); return cal.getTime(); } catch (Exception e) { - + } return null; @@ -273,7 +274,7 @@ /** * 指定时间的下N天 - * + * * @param date * @return */ @@ -289,7 +290,7 @@ cal.add(Calendar.DATE, nDay); return cal.getTime(); } catch (Exception e) { - + } return null; @@ -297,7 +298,7 @@ /** * 指定时间的前N天 - * + * * @param date * @return */ @@ -313,7 +314,7 @@ cal.add(Calendar.DATE, -nDay); return cal.getTime(); } catch (Exception e) { - + } return null; @@ -321,7 +322,7 @@ /** * 获取一天的起始时间 - * + * * @param date * @return */ @@ -338,7 +339,7 @@ try { return fmt.parse(dateStr); } catch (ParseException e) { - + } return date; @@ -346,7 +347,7 @@ /** * 获取一天的结束时间 - * + * * @param date * @return */ @@ -363,7 +364,7 @@ try { return fmt.parse(dateStr); } catch (ParseException e) { - + } return date; @@ -371,7 +372,7 @@ /** * currentDat是否在referenceDate日期之前 - * + * * @param referenceDate * @param currentDat * @return @@ -389,7 +390,7 @@ /** * currentDat是否在referenceDate日期之后 - * + * * @param referenceDate * @param currentDat * @return @@ -436,7 +437,7 @@ } /** * 判断currentDate是否在startDate和endDate之间,不包括startDate和endDate - * + * * @param startDate * @param endDate * @param currentDate @@ -454,11 +455,11 @@ return false; } - + /** * 获取startDate到endDate之间的星期day(中文星期)不包括startDate和endDate - * + * * @param startDate * @param endDate * @param day @@ -483,11 +484,11 @@ return listDate; } - + /** * date转换成Timestamp - * + * * @param date * @param format * @return @@ -507,7 +508,7 @@ /** * 获取早中晚 - * + * * @param time * @return */ @@ -530,7 +531,7 @@ /** * 获取早中晚的开始时间 - * + * * @param date * @param time * @return @@ -554,7 +555,7 @@ /** * 获取早中晚的结束时间 - * + * * @param date * @param time * @return @@ -578,7 +579,7 @@ /** * 得到几天前的时间 - * + * * @param d * @param day * @return @@ -592,7 +593,7 @@ /** * 得到几天后的时间 - * + * * @param d * @param day * @return @@ -606,7 +607,7 @@ /** * 将日期类型格式化成字符串 - * + * * @param date * @return 格式化后日期字符串 * @throws ParseException @@ -622,7 +623,7 @@ /** * 获取时间戳 - * + * * @return */ public static String getTimeMark() { @@ -694,4 +695,35 @@ } return um; } + + /** + * 根据单位计算目标日期 + * + * @param num 距离 + * @param unit 日期单位 Y/M/D + * @return + */ + public static Date calDate(Integer num, String unit) { + Calendar calendar = Calendar.getInstance(); + Date targetDate = null; + switch (unit) { + case "Y": + calendar.add(Calendar.YEAR, num); + targetDate = calendar.getTime(); + break; + case "M": + calendar.add(Calendar.MONTH, num); + targetDate = calendar.getTime(); + break; + case "D": + calendar.add(Calendar.DAY_OF_MONTH, num); + targetDate = calendar.getTime(); + break; + default: + targetDate = new Date(); + + } + + return targetDate; + } } -- Gitblit v1.9.1