2

我正在以这种格式获取日期,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的格式应该是什么?

4

5 回答 5

6

尝试

new SimpleDateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aaa");
于 2013-06-10T12:02:38.270 回答
3

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

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

如果您不提供语言环境,SimpleDateFormat将使用系统的默认语言环境,它可以不是给定字符串输入的语言环境。

于 2013-06-10T12:10:29.937 回答
1

您需要使用SSSSSSfor 毫秒并替换:.以匹配此部分01.17.16.250000

SimpleDateFormat simpleDateFormat = 
                 new SimpleDateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aaa");
于 2013-06-10T12:03:04.757 回答
0

在您期望的 Formatstring中,hh:mm:ss但在您的输入字符串中,您有hh.mm.ss并且您也没有包括毫秒。

所以格式字符串应该是dd-MMM-yy hh.mm.ss.SSSSSS aaa

于 2013-06-10T12:04:59.420 回答
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");
于 2013-06-10T12:08:01.587 回答