protected Collection compare(Date date, int[] fields) { List result = new ArrayList(); Calendar cal = Calendar.getInstance(); cal.setLenient(true); cal.setTime(date); if (fields[0] != IGN && cal.get(Calendar.YEAR) != fields[0]) result.add("year " + cal.get(Calendar.YEAR) + " != " + fields[0]); if (fields[1] != IGN && cal.get(Calendar.MONTH) != fields[1]) result.add("month " + cal.get(Calendar.MONTH) + " != " + fields[1]); if (fields[2] != IGN && cal.get(Calendar.DAY_OF_MONTH) != fields[2]) result.add("day of month " + cal.get(Calendar.DAY_OF_MONTH) + " != " + fields[2]); if (fields[3] != IGN && cal.get(Calendar.HOUR_OF_DAY) != fields[3]) result.add("hour of day " + cal.get(Calendar.HOUR_OF_DAY) + " != " + fields[3]); if (fields[4] != IGN && cal.get(Calendar.MINUTE) != fields[4]) result.add("minute " + cal.get(Calendar.MINUTE) + " != " + fields[4]); if (fields[5] != IGN && cal.get(Calendar.SECOND) != fields[5]) result.add("second " + cal.get(Calendar.SECOND) + " != " + fields[5]); return result; }