我正在尝试将以下文本转换为日期,但无法正确解析。
String strDate = "Tue Mar 13 12:00:00 EST 2012";
try{
SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");
//also tried SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy HH:mm");
//as well as sd.setTimeZone(TimeZone.getDefault());
Date date = sd.parse(strDate);
}catch(Exception e)
{
e.printStack();
//fails with java.text.ParseException: Unparseable date: "Tue Mar 13 12:00:00 EST 2012"
}
我做错了什么?
最佳答案
您的日期格式正在寻找格式为 dd/MM/yyyy
(日/月/年)的内容,但您传递的是一个长日期字符串。您的格式会解析像 13/05/2012 这样的日期。查看 SimpleDateFormat http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html符号的 javadoc。
所以你的日期格式应该是 EEE MMM dd...etc
关于Java String to Date Conversion 抛出无法解析的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560539/