Package org.apache.poi.ss.formula.atp
Class WorkdayCalculator
java.lang.Object
org.apache.poi.ss.formula.atp.WorkdayCalculator
A calculator for workdays, considering dates as excel representations.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionprotected intcalculateNonWeekendHolidays(double start, double end, double[] holidays) Calculates how many holidays in a list are workdays, considering an interval of dates.intcalculateWorkdays(double start, double end, double[] holidays) Calculate how many workdays are there between a start and an end date, as excel representations, considering a range of holidays.calculateWorkdays(double start, int workdays, double[] holidays) Calculate the workday past x workdays from a starting date, considering a range of holidays.protected booleanisHoliday(double aDate, double[] holidays) protected booleanisInARange(double start, double end, double aDate) protected booleanisWeekend(double aDate) protected intpastDaysOfWeek(double start, double end, int dayOfWeek) Calculates how many days of week past between a start and an end date.
-
Field Details
-
instance
-
-
Method Details
-
calculateWorkdays
public int calculateWorkdays(double start, double end, double[] holidays) Calculate how many workdays are there between a start and an end date, as excel representations, considering a range of holidays.- Parameters:
start- start date.end- end date.holidays- an array of holidays.- Returns:
- number of workdays between start and end dates, including both dates.
-
calculateWorkdays
Calculate the workday past x workdays from a starting date, considering a range of holidays.- Parameters:
start- start date.workdays- number of workdays to be past from starting date.holidays- an array of holidays.- Returns:
- date past x workdays.
-
pastDaysOfWeek
protected int pastDaysOfWeek(double start, double end, int dayOfWeek) Calculates how many days of week past between a start and an end date.- Parameters:
start- start date.end- end date.dayOfWeek- a day of week as represented byCalendarconstants.- Returns:
- how many days of week past in this interval.
-
calculateNonWeekendHolidays
protected int calculateNonWeekendHolidays(double start, double end, double[] holidays) Calculates how many holidays in a list are workdays, considering an interval of dates.- Parameters:
start- start date.end- end date.holidays- an array of holidays.- Returns:
- number of holidays that occur in workdays, between start and end dates.
-
isWeekend
protected boolean isWeekend(double aDate) - Parameters:
aDate- a given date.- Returns:
trueif date is weekend,falseotherwise.
-
isHoliday
protected boolean isHoliday(double aDate, double[] holidays) - Parameters:
aDate- a given date.holidays- an array of holidays.- Returns:
trueif date is a holiday,falseotherwise.
-
isInARange
protected boolean isInARange(double start, double end, double aDate) - Parameters:
start- start date.end- end date.aDate- a date to be analyzed.- Returns:
trueif aDate is between start and end dates,falseotherwise.
-