2010-11-22 94 views
2

我有字符串“Tue Nov 12 2010”,我想在java.util.Date对象中解析它。 我下面写的代码像低于这个将字符串解析为日期对象

DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

这是给例外:

java.text.ParseException: Unparseable date: "Sun Nov 21 2010"

没有得到什么错呢???

+2

在您键入问题的文本区域的右侧,有一个标题为“如何格式化**”的框。值得一读。我已经为您解决了代码格式问题,但现在您已经提出了五个问题,有时间开始独奏。 – 2010-11-22 13:20:42

+2

为什么不能看到指定的“dd/MM/yyyy”格式与日期“2010年11月12日”不符? – 2010-11-22 13:24:48

+0

如果有帮助,接受答案被认为是很好的形式。 @艾莉森既有帮助也是最快捷的答案。 – Jim 2010-11-26 10:55:04

回答

1

您已经创建
新的SimpleDateFormat( “DD/MM/YYYY”)的日期格式;
只会解析该表单的日期。即05/10/1989 你需要改变一些更合适的格式。

7

你的格式是错误的 - 如果你指定一个格式dd/MM/yyyy,那么你需要提供格式化为对应格式(!)的字符串。 21/11/2010

4

Ofcourse,因为它不是在格式

Tue Nov 12 2010格式应该是EEE MMM dd yyyy

Have a look at docs

+1

从链接的文档中,一年中的“D”和一个月中的“d”是日期。也没有'Y'。 – codaddict 2010-11-22 13:25:54

+0

@codaddict是我的错误 – 2010-11-22 13:29:48

1

解析您需要提供正确格式的日期。对于您提供的样本日期,格式将为"EEE MMM dd yyyy"

+0

+1纠正我:) – 2010-11-22 13:33:07

0

您使用的日期格式错误。要根据您的字符串格式解析它,请使用“EEE MMM dd yyyy”

2

学习阅读代码并使用常识。

 
DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

这应该是明显地告诉指定的字符串不匹配的格式被解析。他们在相邻的路线上,彼此相邻。它并没有比这更直接。

如果您要成为一名成功的程序员,您需要能够看到类似这样的内容。如果你看不到这一点,那么当两行代码出现问题甚至不在同一个源代码文件中时,你会如何发现类似的问题?

我的建议是承担一些个人责任,学习如何阅读和调试代码。像这样的东西应该是一个巨大的红旗,当你输入它时,两行代码不匹配。

相关问题