我在形式MMM /日/年,即一個字符串。月/ 21/2010 現在我想將它轉換爲yyyyMMdd,即。 20100521.問題轉換日期格式在Java中
我的代碼是:
public static void main(String[] args) {
ArrayList<String> dates = new ArrayList<String>();
dates.add("Jan/13/2011");
dates.add("Feb/03/2001");
dates.add("Mar/19/2012");
dates.add("Apr/20/2011");
dates.add("May/21/2010");
dates.add("Jun/23/2008");
dates.add("Jul/12/2009");
dates.add("Aug/14/2010");
dates.add("Sep/01/2011");
dates.add("Oct/07/2010");
dates.add("Nov/05/2011");
dates.add("Dec/30/2011");
for(String s : dates) {
System.out.println(transformPrevDate(s));
}
}
和方法進行改造:
public String transformPrevDate(String datoe) {
String[] splitter = datoe.split("/");
String m = splitter[0].toUpperCase();
String d = splitter[1];
String y = splitter[2];
DateFormat formatter = new SimpleDateFormat("MMM");
DateFormat formatter2 = new SimpleDateFormat("MM");
try {
Date date = formatter.parse(m);
m = formatter2.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
String date = y + m + d;
return date;
}
的問題是,我得到一個無法解析的日期例外,5月日和10月從我丹麥,如果我將它改爲丹麥語「Maj」和「Okt」,它會成功。那麼我在這裏做錯了什麼?
+1更好的解決方案! – 2011-03-16 14:42:43
僅供參考......你仍然需要將其包裝在try-catch塊或不得不拋出ParseException,因爲'input.parse(datoe)'拋出ParseException的,這是一個檢查異常的API。 – limc 2011-03-16 14:53:24