2014-02-20 41 views
3

无法解析的日期:“20/02/2014”Android的更改日期格式

我有日期“20/02/2014”在字符串格式,并想改变它的格式为“MMMM DD,YYYY”,但它给错误。

下面是代码:

try { 
    SimpleDateFormat df = new SimpleDateFormat("MMMM dd,yyyy"); 
    Date date = df.parse("20/02/2014"); 
    System.out.println(date); 
} catch (ParseException e) { 

    e.printStackTrace(); 
} catch (java.text.ParseException e) { 
    e.printStackTrace(); 
} 
+1

提示:你想用MMMM dd,yyyy格式解析你的日期字符串吗?如果不是,解析的格式字符串应该是什么? – laalto

+0

需要使用两种不同格式的两次解析。 –

回答

3

试试这个代码:

try { 
      String str = "20/02/2014"; 
      SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy"); 
      SimpleDateFormat sdf2 = new SimpleDateFormat("MMMM dd,yyyy"); 

      System.out.println("Formatted Date : "+sdf2.format(sdf1.parse(str)));  } catch (Exception e) { 
     e.printStackTrace();  } 
3

你不改变日期格式。你逝去的日期格式DD/MM/YYYY:

try { 
    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
    Date date = df.parse("20/02/2014"); 
    System.out.println(date); 
} catch (ParseException e) { 

    e.printStackTrace(); 
} catch (java.text.ParseException e) { 
    e.printStackTrace(); 
} 

为了改变格式,并有一个新的日期,则需要使用format命令

SimpleDateFormat sdf = new SimpleDateFormat("MMMM dd,yyyy"); 
date = sdf.format(date); 
2

您的字符串是在dd/MM/yyyy格式

try { 
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
    SimpleDateFormat df = new SimpleDateFormat("MMMM dd,yyyy"); 
    String date = formatter.parse("20/02/2014"); 
    Date date2 = df.format(date); 
    System.out.println(date); 
} catch (ParseException e) { 

    e.printStackTrace(); 
} catch (java.text.ParseException e) { 
    e.printStackTrace(); 
} 
2

做这样

try { 
     SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
     SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
     Date date = df.parse("20/02/2014"); 
     System.out.println(sdf.format(date)); 
    } catch (ParseException e) { 

     e.printStackTrace(); 
    }