From 3773b6c300b39f7abe0d79d989e9b9fc5f35f9c4 Mon Sep 17 00:00:00 2001 From: xyiege Date: Sat, 15 Oct 2022 16:08:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A340=E4=B8=AA=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=97=A5=E6=97=B6=E9=97=B4=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cn/chjyj/szwh/utils/DateUtils.java | 9 ++++++--- src/test/java/cn/chjyj/szwh/NewTest.java | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/utils/DateUtils.java b/src/main/java/cn/chjyj/szwh/utils/DateUtils.java index 916d6b6..001b008 100644 --- a/src/main/java/cn/chjyj/szwh/utils/DateUtils.java +++ b/src/main/java/cn/chjyj/szwh/utils/DateUtils.java @@ -67,16 +67,19 @@ public class DateUtils { public static Date daysAgoOrAfter(Date oneday,int amount){ Calendar mon = Calendar.getInstance(); mon.setTime(oneday); + //如果今天是周六或周日 + if (Calendar.SATURDAY == mon.get(Calendar.SATURDAY) || Calendar.SUNDAY == mon.get(Calendar.SUNDAY)) { + amount=amount+1; + } + // 逢周六周日,日期延后一天 for (int i = 0; i < amount; i++) { mon.set(Calendar.DATE, mon.get(Calendar.DATE) + 1); if (Calendar.SATURDAY == mon.get(Calendar.SATURDAY) || Calendar.SUNDAY == mon.get(Calendar.SUNDAY)) { - amount = amount + 1; - mon.set(Calendar.DATE, mon.get(Calendar.DATE) + 1); + amount++; continue; } } - mon.add(Calendar.DATE,amount); return mon.getTime(); } diff --git a/src/test/java/cn/chjyj/szwh/NewTest.java b/src/test/java/cn/chjyj/szwh/NewTest.java index bad8671..12d7ab6 100644 --- a/src/test/java/cn/chjyj/szwh/NewTest.java +++ b/src/test/java/cn/chjyj/szwh/NewTest.java @@ -97,9 +97,19 @@ public class NewTest { System.out.println(day); } + /** + * 测试40个工作日后的日期 + */ @Test - public void dateToTimeStamp(){ - String cstart ="2022-10-10 15:03:20"; + public void n2test(){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date startd = sdf.parse("2022-10-15"); + Date afdate = DateUtils.daysAgoOrAfter(startd,5); + System.out.println(sdf.format(afdate)); + }catch (Exception ex){ + ex.printStackTrace(); + } } }