字符串Java简单日期格式
我正在尝试将文本格式化为日期。以下是我所拥有的:
String pattern = "yyyy.MM.dd";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date d=sdf.parse("12.1.5");
我得到:
java.lang.IllegalArgumentException: Illegal pattern character 'Y'
在这一点上
我还尝试使用ParsePosition以及“2012.01.05”。同样的错误
如何将此字符串解析为日期?有其他选择吗?我错过了什么
谢谢
# 1 楼答案
你给出的代码运行良好——尽管你声称你将有一个4位数的年、2位数的月、然后是2位数的日,然后提供2-1-1这一事实相当愚蠢
考虑到你得到的例外情况,我怀疑你的模式实际上是而不是
"YYYY.MM.dd"
。这在Java 7中有效,其中Y
表示“周-年”,但在Java 6中无效,后者不支持Y
作为格式说明符-仅y
即使它是有效的,你也真的不希望
Y
出现在这里——你只需要指定周年,同时还要指定周年中的周和周中的日,而你在这里没有这样做坚持你发布的代码中的实际模式——但确保你的数据与之匹配