Я не думаю, что есть фактический„легкий“способ иметь дело с такие разные форматы даты. Если у вас есть возможность прикрепить к стандарту «стандартный формат даты», это будет простой способ.
Общий подход заключается в создании DateParser для каждого формата «freaky», с которым вам приходится иметь дело. Вот пример для первого дня, используя Joda Время:
String date1 = "16 May 2013 19:27:12 CEST";
DateTimeFormatter fmt = new DateTimeFormatterBuilder()
.appendDayOfMonth(2)
.appendLiteral(' ')
.appendMonthOfYearShortText()
.appendLiteral(' ')
.appendYear(4, 4)
.appendLiteral(' ')
.appendHourOfDay(2)
.appendLiteral(":")
.appendMinuteOfDay(2)
.appendLiteral(":")
.appendSecondOfDay(2)
.appendLiteral(' ')
.appendLiteral("CEST")
.toFormatter();
DateTime parseDateTime = fmt.parseDateTime(date1);
System.out.println(parseDateTime);
Я надеюсь, что это поможет вам построить DateParsers для других случаев. И помните - всегда сохраняйте свои даты по отношению к UTC!
чек из JodaTime http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormatter.html#parseDateTime%28java. lang.String% 29 – hovanessyan
Я хочу, чтобы размер пакета был как можно меньше, поэтому я не думаю, что буду использовать внешнюю библиотеку только для дат. В любом случае, спасибо! Это хороший ответ! – aveschini