java中的简单日期格式,Parseexception

这是我的日期字符串: “07SEP2014 00:00”

这是将字符串转换为日期的代码:

new SimpleDateFormat("ddMMMyyyy HH:mm").parse(dateString); 

我得到解析exception。 我做错了什么?

您的代码有效 – 只要您的系统具有SEP = 9月的区域设置。 您可以设置区域设置以确保:

 Date result = new SimpleDateFormat("ddMMMyyyy HH:mm",Locale.ENGLISH).parse(dateString); 
 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateParse { public static void main(String[] args) { String date = "07SEP2014 00:00"; try { Date dateParse = new SimpleDateFormat("ddMMMyyyy HH:mm").parse(date); System.out.println(dateParse); } catch (ParseException e) { e.printStackTrace(); } } } 

输出:

 Sun Sep 07 00:00:00 IST 2014 

您需要根据模式自定义日期格式。 有关自定义的更多详细信息。

编辑:案例在这里很重要。 SEP应该像九月一样

  SimpleDateFormat formatter=new SimpleDateFormat("ddMMMyyyy HH:mm"); Date today = new Date(); today.setMonth(8); String result = formatter.format(today); System.out.println(result); 

输出: 10Sep2015 15:08

编辑2:您的示例也正常。

  SimpleDateFormat formatter=new SimpleDateFormat("ddMMMyyyy HH:mm"); Date result = formatter.parse("07Sep2014 00:00"); System.out.println(result.toString()); 

输出: Sun Sep 07 00:00:00 IST 2014