根据美国的周时间计算:美国计算中,一周是从周日到周六,下面的计算方法中,如果 start 日期是周六的话,则算是一周,周日的话,则不算一周
public int calculateWeeksBetweenTwoDate(PrecClaimsLossEventEntity lossEventEntity, PrecClaimsEmploymentInformationEntity employmentInformationEntity){
int week = 0;
// calculate days between two specific dates
Number daysBetweenTwoDate = BusinessRulesUtils.numberOfDaysBetween(lossEventEntity.getLossDt(),employmentInformationEntity.getDateOfHire());
int days = daysBetweenTwoDate.intValue();
Calendar calendar = Calendar.getInstance();
calendar.setTime(lossEventEntity.getLossDt());
switch (calendar.get(Calendar.DAY_OF_WEEK)){
case Calendar.SUNDAY:
days = days-1; break;
case Calendar.MONDAY:
days = days; break;
case Calendar.TUESDAY:
days = days-6; week=1; break;
case Calendar.WEDNESDAY:
days = days-5; week=1; break;
case Calendar.THURSDAY:
days = days-4; week=1; break;
case Calendar.FRIDAY:
days = days-3; week=1; break;
case Calendar.SATURDAY:
days = days-2; week=1; break;
}
int weekFirst = days/7;
int weekSecond = days%7;
week += weekFirst;
if(weekSecond != 0){
week++;
}
return week;
}