2014-09-30 37 views
0

我有字符串dateOrder ='2014年9月28日',我想改變與SimpleDateFormat的格式。但這是無法形成的。如何解決?
這是我的代碼安卓解析字符串日期與SimpleDateFormat

SimpleDateFormat date = new SimpleDateFormat("dd/MM/yy"); 
     String dateOrder = fill_order_in.get(Variabel.KEY_DATE_ORDER); 
     try { 
      Date d = date.parse(dateOrder); 
      dateOrder = date.format(d); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
+1

2014-09-28不是'「dd/MM/yy」'。 – CommonsWare 2014-09-30 20:04:30

+0

是的,但我想要的結果是..所以如何把戲? – 2014-09-30 20:07:04

回答

2

嘗試改變第一線

SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd"); 

您可以使用此爲parse。然後,您需要另一個SimpleDateFormat("dd/MM/yy")來格式化新版本。

關鍵在於解析需要使用一種模式完成,而格式化需要使用另一種模式完成。因此,不需要創建一個SimpleDateFormat實例,您需要兩個不同的模式:一個用於解析,一個用於格式化。

+0

謝謝你的回答。是工作 :) – 2014-09-30 20:37:15

1

我相信你想是這樣的:

//first create an object that will parse your date as you have it ie 2014-09-28 
    SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd"); 
    String dateOrder = fill_order_in.get(Variabel.KEY_DATE_ORDER); 
    try { 
     Date d = date.parse(dateOrder); 
     //then use a different object to format the date as you want it ie 9/28/2014 
     dateOrder = new SimpleDateFormat("dd/MM/yy").format(d); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

感謝您的回答。它的工作:) – 2014-09-30 20:36:44