Java简单日期格式

时间:2013-04-08 19:47:12

标签: java string date date-format simpledateformat

我正在尝试将文字格式化为日期。这就是我所拥有的:

String pattern = "yyyy.MM.dd";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date d=sdf.parse("12.1.5");

我明白了:

  

java.lang.IllegalArgumentException:非法模式字符'Y'

此时。

我也尝试过使用ParsePosition以及“2012.01.05”。同样的错误。

如何将此字符串解析为日期?任何可选方式?我错过了什么?

谢谢,

1 个答案:

答案 0 :(得分:3)

您提供的代码工作正常 - 虽然您声称的事实,您将拥有4位数,2位数月份和2位数日,然后提供2 1-1非常糟糕。

鉴于您遇到的异常,我怀疑您的模式实际上是 "YYYY.MM.dd"。这在Java 7中有效,其中Y表示“周年”但{em> 在Java 6中有效且不支持Y作为格式说明符 - 仅y

即使它有效,你真的不希望Y在这里 - 你只需要指定周年,当你还指定星期和星期几时,你我不在这里。

坚持您在发布的代码中实际获得的模式 - 但请确保您的数据与其实际匹配...