SimpleDateFormat无法解析Date

时间:2013-05-28 12:31:04

标签: java string parsing date

我在解析String时遇到了一些问题。我在stackoverflow上搜索了一个想法,我得到了我的答案,但它仍然没有工作..所以..

我试图解析一个看起来像这样的字符串

  

Jan 08 08 00:00:00 CET 1985

我正在尝试的是这个..

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;

}

当然有人可以帮助我:-)谢谢你的预告

2 个答案:

答案 0 :(得分:7)

问题在于对“Tue”和“Jan”的解释,因为您没有指定任何语言环境(在这种情况下,它采用默认语言环境(Locale.getDefault())

尝试:

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

答案 1 :(得分: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;
}