我在解析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;
}
当然有人可以帮助我:-)谢谢你的预告
答案 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;
}