SimpleDateFormat由于未知原因而给出ParseException

时间:2011-07-28 13:43:34

标签: java simpledateformat parseexception

我需要格式化我的日期(使用Java格式)。当我使用以下代码(取自tutorial/reference source)时,它只会出现以下错误。我已经尝试了我能想到的一切。

我的代码:

SimpleDateFormat format = new SimpleDateFormat ("E dd/MMM/yy");
java.util.Date date = format.parse ("12/31/2006");
System.out.println (date);

这会导致以下错误:

  

java.text.ParseException:Unparseable date:“12/31/2006”

我实际上是在尝试格式化这个字符串"2011-7-27",但它给出了同样的错误,这导致我尝试将该格式用于我提供给它的字符串。

你能看到哪些东西我搞砸了吗?

1 个答案:

答案 0 :(得分:3)

您提供的代码不是从您链接到的页面中获取的。该格式字符串不会出现在页面的任何位置。

你在格式说明符中包含了一个“E”,它对应于星期几 - 但是你没有提供。您还使用“MMM”作为月份说明符,这将是文本表示(例如“Jul”)。最后,您为年份指定了“yy”,但随后给出了4位数。 (这实际上不会导致问题 - 它会处理四位数 - 但最好指定您实际期望的格式。)如果您只是想要提供“12/31/2006”您的格式应为"MM/dd/yyyy"

如果您确实要解析“2011-7-27”,则应使用"yyyy-M-dd"作为格式字符串。