0
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy");
dt = formatter.parse(temp[0]);

给我错误

java.text.ParseException:无法解析的日期:“30-MAR-07”

有什么方法可以将给定的 String 格式化为 Date 对象,而无需编写自己的字符串拆分和将数字转换为月份的方法?谢谢

4

3 回答 3

10

使用正确的格式,如下,

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy");
于 2012-07-17T17:12:40.720 回答
7

您的SimpleDateFormat模式对于“30-MAR-07”是完全不正确的。它的值顺序错误,使用了错误的分隔符和错误的月份格式。你要:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy");

您可能还想指定语言环境,例如

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy", Locale.US);

我已经检查过它是否有效 - 至少在我的机器上:)

于 2012-07-17T17:13:09.843 回答
-1

尝试这个...(new SimpleDateFormat("dd-MMM-yy")

System.out.println(new SimpleDateFormat("dd-MMM-yy").format(new Date("30-MAR-07")));
于 2012-07-17T17:14:55.723 回答