У меня такая ситуация, когда я читаю около 130 тыс. Записей, содержащих даты, хранящиеся в виде строковых полей. Некоторые записи содержат пробелы (нули), некоторые содержат строки вроде этого: 'dd-MMM-yy', а некоторые содержат это 'dd / MM / yyyy'.
Я написал такой метод:
public Date parsedate(String date){
if(date !== null){
try{
1. create a SimpleDateFormat object using 'dd-MMM-yy' as the pattern
2. parse the date
3. return the parsed date
}catch(ParseException e){
try{
1. create a SimpleDateFormat object using 'dd/MM/yyy' as the pattern
2. parse the date
3. return parsed date
}catch(ParseException e){
return null
}
}
}else{
return null
}
}
Так что вы, возможно, уже заметили проблему. Я использую попытку .. поймать как часть моей логики . Было бы лучше, если бы я мог заранее определить, что строка действительно содержит анализируемую дату в каком-либо формате, а затем попытаться ее проанализировать.
Итак, есть ли какой-нибудь API или библиотека, которая может помочь с этим? Я не против написать несколько разных классов Parse для обработки разных форматов, а затем создать фабрику для выбора правильного6, но как мне определить, какой именно?
Спасибо.