我有一个来自网页的输入
02-01-2014 12:00 AM
基本上,在输入转到ReportServiceImpl
后,类会将字符串输入转换为Date
类型。
private SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy hh:mm a");
现在,由于需求的变化,我不得不删除时间。我可以很容易地改变上面的那一行,但是这个简单的改变将级联到整个系统,我必须替换一些行和方法才能使这种格式起作用。
我想到的解决方案是,接受MM-dd-yyyy hh:mm a
和MM-dd-yyyy
,但我如何检测输入格式?
思想?
编辑:
我根本不喜欢这种方法。有替代方案吗?
public Date fmtDate(String date) throws Exception {
DateFormat dateFormat1 = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
DateFormat dateFormat2 = new SimpleDateFormat("MM/dd/yyyy");
try {
return dateFormat1.parse(date);
} catch(Exception e) {
return dateFormat2.parse(date);
}
}