2014-02-20 42 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(); 
    }