package org.tgdb.util; import java.util.GregorianCalendar; import java.util.Calendar; public class ArxCalendar extends GregorianCalendar { public ArxCalendar() { } public int getWorkingHoursForMonth(int hoursPerDay) { // Helper calendar Calendar aDay = null; // Time sum int totalHours = 0; // Get the number of days in that month int days = getActualMaximum(Calendar.DAY_OF_MONTH); for(int i=0;i<days;i++) { aDay = new GregorianCalendar(2006, get(Calendar.MONTH), i); int weekDay = aDay.get(Calendar.DAY_OF_WEEK); if((weekDay != Calendar.SATURDAY) && (weekDay != Calendar.SUNDAY)){ totalHours += hoursPerDay; } } return totalHours; } public int daysInMonth() { return getActualMaximum(Calendar.DAY_OF_MONTH); } public void nextMonth() { roll(Calendar.MONTH, 1); } public void previousMonth() { roll(Calendar.MONTH, -1); } public int workingHoursForDay(int day, int hoursPerDay) { set(Calendar.DAY_OF_MONTH, day); int weekDay = get(Calendar.DAY_OF_WEEK); if((weekDay != Calendar.SATURDAY) && (weekDay != Calendar.SUNDAY)){ return hoursPerDay; } else return 0; } /* public String nameOfMonth(boolean shortForm) { if(shortForm) return String.format("%1$tb", this); else return String.format("%1$tB", this); } public String nameOfWeekday(int dateInMonth, boolean shortForm) { set(Calendar.DAY_OF_WEEK, dateInMonth); if(shortForm) return String.format("%1$ta", this); else return String.format("%1$tA", this); } */ }