无法将我的日期格式化为正确的格式?

时间:2014-04-27 16:35:46

标签: java

我的日期格式为:mon / jan / 13/20/01/56/0000/2014

线程“main”中的异常java.text.ParseException:无法解析的日期:“mon / jan / 13/20/20/56/0000/2000”

//fix the date and time
SimpleDateFormat sdf = new SimpleDateFormat("EEE/MMM/dd/kk/mm/ss/zzzz/yyyy");
Date d = sdf.parse(tweet[0].replaceAll(" ","/"));   
System.out.println(new SimpleDateFormat("MM/dd/yyyy kk:mm:ss").format(d));

我希望它采用以下格式:MM/DD/YY KK:MM:SS

我浏览过很多SO帖子,但找不到任何有用的内容。

事实上,我上面提到的那段代码来自SO帖子。

然而,我收到了错误。

1 个答案:

答案 0 :(得分:3)

您的TimeZone格式不正确,请参阅docs。试试mon/jan/13/20/01/56/+0000/2014

编辑: 我想你可以用上面的提示修复它;无论如何 - 不是很干净的代码,但应该工作:

SimpleDateFormat sdf = new SimpleDateFormat("EEE/MMM/dd/kk/mm/ss/zzzz/yyyy");
String date = tweet[0].replaceAll(" ","/");
if (date.split("/")[6].length() == 4) {
    date = new StringBuilder(date).insert(20, "+").toString();
}
Date d = sdf.parse(date);
System.out.println(new SimpleDateFormat("MM/dd/yyyy kk:mm:ss").format(d));