2014-09-30 91 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