public static String getBestDateFormat(List<String> dateSamples) { String[] formats = DataTypeDetector.COMMON_DATE_FORMATS; ArrayList<FormatterHits> formatters = new ArrayList<FormatterHits>(formats.length); for (String format : formats) { formatters.add(new FormatterHits(format)); } // try each common format on the sample, counting which one works for (String sample : dateSamples) { for (FormatterHits fh : formatters) { try { fh.getFormatter().parseDateTime(sample); fh.increment(); } catch (IllegalArgumentException e) { // not a goo one, try the others } } } Collections.sort(formatters); if (formatters.get(0).getHits() > 0) { return formatters.get(0).getFormat(); } else { return null; } }
public int compareTo(FormatterHits formatterHits) { return formatterHits.getHits().compareTo(hits); }