我必须输入日期并将其转换为通用日期格式。 为此,我创建了一个函数(非泛型函数),下面是函数的示例代码。将给定日期转换为通用日期格式?
public class ConvertTimestampFormat{
public void evaluate(String dateInString) {
if (!StringUtils.isEmpty(dateInString)) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
ConvertTimestampFormat obj = new ConvertTimestampFormat();
obj.evaluate("2014-06-14-12:58");
}
}
如果示例代码中存在错误,请更正。
在这里,我已经硬编码输入日期格式2014-06-14-12:58
。在这里,我会得到不同类型的日期格式,如2014/06/14-12:58
,2014-Mar-14-12:58
(这样我现在可以得到5到6种格式)。我想用if来检查格式,然后根据格式为每种格式编写单独的代码。但是如果将来有新的日期格式,它将会失败。
我的输出格式总是应该是yyyy-MM-dd hh:mm:ss
。
请建议我通用的方式(通用功能)来做到这一点。
要小心_generic_,它的Java世界它意味着这样的事情'List',我认为你的意思_flexible_超过一般不是吗? –
superbob
如果您有两种输入日期格式,则每种类型都需要两个日期格式化器。然后你解析第一个,捕获异常,然后解析第二个,如果在这里捕获到异常,那么输入不匹配两个格式化器。 –
@superbob我同意你的看法,它不仅仅是通用的。 – Ram