0

嗨,我有 2 个不同格式的输入日期,所以请告诉我如何遍历它们并使用 if-else 将它们转换为新格式。这是我的输入: String first="Mar 12"; 字符串秒=“2010 年 2 月 23 日”;我正在尝试将这些不同的格式转换为新格式。

我使用了以下代码:

Date date=new Date();
//I used this format for Mar 12
DateFormat dateFormat1=new SimpleDateFormat("MMM dd"); 
// Mar 12 gets converted in follwing new format
DateFormat dateFormat2=new SimpleDateFormat("yyyy-MM-dd");  
//I used this format for Feb 23 2010
DateFormat dateFormat3=new SimpleDateFormat("MMM dd yyyy"); 
// Feb 23 2010 gets converted in follwing new format
DateFormat dateFormat4=new SimpleDateFormat("yy-MM-dd");

date=dateFormat1.parse("first");
first=dateFormat2.format(date);
date=dateFormat3.parse("second");
second=dateFormat4.format(date);

现在我遇到了问题,我不知道如何使用 if-else 块将它们解析和转换为新格式。

4

2 回答 2

2

使用字符串长度/字符串中的空格 来区分格式。[因为您只有两种格式。]

于 2011-03-31T06:45:57.497 回答
2

SimpleDateFormat.parse发生错误时返回 null。所以,你可以这样做:

date = dateFormat1.parse(first, new ParsePosition(0));
if (date == null) {
  date = dateFormat2.parse(first, new ParsePosition(0));
}
于 2011-03-31T06:46:48.890 回答