无法解析此日期

时间:2013-06-10 12:00:54

标签: java date-format simpledateformat

我收到的格式为14-MAY-13 01.17.16.250000 PM

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yy hh:mm:ss aaa");
  simpleDateFormat.parse("14-MAY-13 01.17.16.250000 PM")

给我这个例外

java.text.ParseException: Unparseable date: "14-MAY-13 01.17.16.250000 PM" .. simpledateformat的格式应该是什么?

5 个答案:

答案 0 :(得分:6)

尝试

new SimpleDateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aaa");

答案 1 :(得分:3)

必须更正格式(有关详细信息,请参阅javadoc)。您还应将区域设置设置为SimpleDateFormat,以确保使用正确的语言解析月份。

new SimpleDateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aaa", Locale.US);

如果您不提供区域设置,SimpleDateFormat将使用系统的默认区域设置,该区域设置可能不是给定字符串输入的区域设置。

答案 2 :(得分:1)

您需要使用SSSSSS毫秒,并将:替换为.以匹配此部分01.17.16.250000

SimpleDateFormat simpleDateFormat = 
                 new SimpleDateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aaa");

答案 3 :(得分:0)

在您的Formatstring中,您希望hh:mm:ss,但在您的输入字符串中,您有hh.mm.ss,并且您还没有包含毫秒数。

因此格式字符串应为dd-MMM-yy hh.mm.ss.SSSSSS aaa

答案 4 :(得分:0)

简单的日期格式和日期格式应该相同,试试这个

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yy hh:mm:ss:SSSSSS aaa");

Date d = simpleDateFormat.parse("14-MAY-13 01:17:16:250000 PM");