我收到的格式为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的格式应该是什么?
答案 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");