Browse Source

修正40个工作日时间的bug

master
xyiege 3 years ago
parent
commit
3773b6c300
  1. 9
      src/main/java/cn/chjyj/szwh/utils/DateUtils.java
  2. 14
      src/test/java/cn/chjyj/szwh/NewTest.java

9
src/main/java/cn/chjyj/szwh/utils/DateUtils.java

@ -67,16 +67,19 @@ public class DateUtils {
public static Date daysAgoOrAfter(Date oneday,int amount){ public static Date daysAgoOrAfter(Date oneday,int amount){
Calendar mon = Calendar.getInstance(); Calendar mon = Calendar.getInstance();
mon.setTime(oneday); 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++) { for (int i = 0; i < amount; i++) {
mon.set(Calendar.DATE, mon.get(Calendar.DATE) + 1); mon.set(Calendar.DATE, mon.get(Calendar.DATE) + 1);
if (Calendar.SATURDAY == mon.get(Calendar.SATURDAY) || Calendar.SUNDAY == mon.get(Calendar.SUNDAY)) { if (Calendar.SATURDAY == mon.get(Calendar.SATURDAY) || Calendar.SUNDAY == mon.get(Calendar.SUNDAY)) {
amount = amount + 1; amount++;
mon.set(Calendar.DATE, mon.get(Calendar.DATE) + 1);
continue; continue;
} }
} }
mon.add(Calendar.DATE,amount);
return mon.getTime(); return mon.getTime();
} }

14
src/test/java/cn/chjyj/szwh/NewTest.java

@ -97,9 +97,19 @@ public class NewTest {
System.out.println(day); System.out.println(day);
} }
/**
* 测试40个工作日后的日期
*/
@Test @Test
public void dateToTimeStamp(){ public void n2test(){
String cstart ="2022-10-10 15:03:20"; 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();
}
} }
} }

Loading…
Cancel
Save