2013-05-28 206 views
3

我解析字符串到目前爲止有點問題。我搜索了計算器的想法,我有我的答案,但它仍然沒有工作..所以..SimpleDateFormat無法解析日期

我試圖解析一個字符串,它看起來像這樣

星期二08年1月00:00:00 CET 1985年

我想要IST這個..

private Date getDateFromString(String sDate) 
{ 
    String dateFormat = "EEE MMM dd HH:mm:ss z yyyy"; 

    SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 
    sdf.setTimeZone(TimeZone.getTimeZone("CET")); 
    Date newDate = null; 
    try { 
     newDate = sdf.parse(sDate); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return newDate; 

} 

當然有人可以幫我:-)謝謝你FORCAST

+2

此代碼適用於我。你使用java.util.Date或java.sql.Date作爲導入嗎? – darijan

+0

直到我添加了adenoyelle的說法,它才適合我,您必須將此區域設置爲默認值。 – Djon

+0

什麼是錯誤/問題? – Bohemian

回答

7

的問題是對「星期二」和「一月」,因爲你沒有指定任何區域(在這種情況下的解釋,它採用默認語言環境(Locale.getDefault())

嘗試:

new SimpleDateFormat(dateFormat, new Locale("en_US")); 
+0

真棒謝謝! –

0

你試過惠特日曆嗎?

public Date getDateFromString(String sdate) { 
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 
    Calendar car = Calendar.getInstance(); 
    Date ndate = null; 
    try { 
     ndate = sdf.parse(sdate); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
    return ndate; 
} 
相關問題