/** * Returns month days from the beginning of year. * * @param month month (0-based) * @parma year year * @return month days from the beginning of year */ private static int getMonthDays(int month, int year) { Integer[] newMonths = getAdjustedMonthDays(year); return newMonths[month].intValue(); }
/** * Returns day-of-month. * * @param dayOfYear day of year * @param month month * @param year year * @return day-of-month */ private static int getDayOfMonth(int dayOfYear, int month, int year) { Integer[] newMonths = getAdjustedMonthDays(year); if (dayOfYear >= 0) { if (month > 0) { return dayOfYear - newMonths[month].intValue(); } else { return dayOfYear; } } else { dayOfYear = (isLeapYear(year) ? (dayOfYear + 355) : (dayOfYear + 354)); if (month > 0) { return dayOfYear - newMonths[month].intValue(); } else { return dayOfYear; } } }
/** * Returns month-of-year. 0-based. * * @param dayOfYear day-of-year * @param year a year * @return month-of-year */ private static int getMonthOfYear(int dayOfYear, int year) { Integer[] newMonths = getAdjustedMonthDays(year); if (dayOfYear >= 0) { for (int i = 0; i < newMonths.length; i++) { if (dayOfYear < newMonths[i].intValue()) { return i - 1; } } return 11; } else { dayOfYear = (isLeapYear(year) ? (dayOfYear + 355) : (dayOfYear + 354)); for (int i = 0; i < newMonths.length; i++) { if (dayOfYear < newMonths[i].intValue()) { return i - 1; } } return 11; } }