private Calendar buildCalendar(int day, int month, int year) { Calendar result = now(); result.set(Calendar.MILLISECOND, 0); result.set(Calendar.SECOND, 0); result.set(Calendar.MINUTE, 0); result.set(Calendar.HOUR_OF_DAY, 0); result.set(Calendar.YEAR, year); result.set(Calendar.MONTH, month - 1); result.set(Calendar.DAY_OF_MONTH, day); forceConversion(result); return result; }
private void applyDateModifiers(Calendar result) { if (startOfYear) { result.set(Calendar.DAY_OF_MONTH, 1); result.set(Calendar.MONTH, Calendar.JANUARY); forceConversion(result); } if (endOfYear) { result.set(Calendar.MONTH, Calendar.DECEMBER); result.set(Calendar.DAY_OF_MONTH, result.getMaximum(Calendar.DAY_OF_MONTH)); forceConversion(result); } if (startOfMonth) { result.set(Calendar.DAY_OF_MONTH, 1); forceConversion(result); } if (endOfMonth) { result.set(Calendar.DAY_OF_MONTH, result.getActualMaximum(Calendar.DAY_OF_MONTH)); forceConversion(result); } if (startOfWeek) { result.set(Calendar.DAY_OF_WEEK, result.getFirstDayOfWeek()); forceConversion(result); } if (endOfWeek) { result.set(Calendar.DAY_OF_WEEK, result.getActualMaximum(Calendar.DAY_OF_WEEK)); forceConversion(result); } }
private void applyTimeModifiers(Calendar result) { if (startOfDay) { result.set(Calendar.MILLISECOND, 0); result.set(Calendar.SECOND, 0); result.set(Calendar.MINUTE, 0); result.set(Calendar.HOUR_OF_DAY, 0); forceConversion(result); } if (endOfDay) { result.set(Calendar.MILLISECOND, result.getMaximum(Calendar.MILLISECOND)); result.set(Calendar.SECOND, result.getMaximum(Calendar.SECOND)); result.set(Calendar.MINUTE, result.getMaximum(Calendar.MINUTE)); result.set(Calendar.HOUR_OF_DAY, result.getMaximum(Calendar.HOUR_OF_DAY)); forceConversion(result); } }
private void applyModifiers(Calendar result) { forceConversion(result); applyDateModifiers(result); applyTimeModifiers(result); }
private Calendar parseFixPoint() throws ParseException { if (tokenizer.getType() == Tokenizer.NUMBER) { return parseDate(tokenizer); } if (tokenizer.getType() == Tokenizer.SPECIAL) { return now(); } if (tokenizer.getType() == Tokenizer.END_OF_INPUT) { return now(); } if (in(calendarWeek())) { tokenizer.nextToken(); expectNumber(); Calendar result = now(); result.set(Calendar.WEEK_OF_YEAR, Integer.parseInt(tokenizer.getToken())); forceConversion(result); tokenizer.nextToken(); return result; } expectKeyword(nowToken()); tokenizer.nextToken(); return now(); }