Как создать общий форматировщик даты в java для Solr?

У меня есть требование, чтобы дата могла быть передана в следующих форматах, прежде чем индексировать их в Solr. Вот примеры передачи дат

String dateStr = "2012-05-23T00:00:00-0400";
String dateStr1 = "May 24, 2012 04:57:40 GMT";
String dateStr2 = "2011-06-21";
    
Стандартный формат Solr: "yyyy-MM-dd'T'HH:mm:ss'Z'".

Я попробовал SimpleDateFormat, но не смог написать универсальную программу для поддержки различных форматов. Это заканчивается тем, что выбрасываются исключения синтаксического анализа.

Я также пробовал использовать время joda, но пока не преуспел в преобразовании UTC.

public static String toUtcDate(final String iso8601) {
        DateTime dt = ISO_PARSE_FORMAT.parseDateTime(iso8601);
        DateTime utcDt = dt.withZone(ZONE_UTC);
        return utcDt.toString(ISO_PRINT_FORMAT);
    }

Существует ли стандартная библиотека для этого?

Любые указатели будут оценены.

Спасибо

6
задан Shamik 25 May 2012 в 23:31
поделиться