与日期格式有关的问题

时间:2011-03-31 06:42:04

标签: java simpledateformat

喜   我有2个不同格式的输入日期,所以请告诉我如何迭代它们   并使用if-else将它们转换为新格式。   这是我的意见:   String first =“Mar 12”;   String second =“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块以新格式转换它们。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

如果出现错误,

SimpleDateFormat.parse将返回null。所以,你可以这样做:

date = dateFormat1.parse(first, new ParsePosition(0));
if (date == null) {
  date = dateFormat2.parse(first, new ParsePosition(0));
}