我有这种情况,我正在阅读包含存储为字符串字段的日期的130K记录.有些记录包含空格(nulls),有些包含这样的字符串:'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
}
}
Run Code Online (Sandbox Code Playgroud)
所以你可能已经发现了这个问题.我正在使用try .. catch作为我逻辑的一部分.最好是我可以事先确定String实际上包含某种格式的可解析日期然后尝试解析它.
那么,是否有一些API或库可以帮助解决这个问题?我不介意写几个不同的Parse类来处理不同的格式,然后创建一个工厂来选择正确的6,但是,我该如何确定哪一个?
谢谢.