2013-05-28 149 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; 
} 
相关问题