有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

字符串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) 个答案

  1. # 1 楼答案

    你给出的代码运行良好——尽管你声称你将有一个4位数的年、2位数的月、然后是2位数的日,然后提供2-1-1这一事实相当愚蠢

    考虑到你得到的例外情况,我怀疑你的模式实际上是而不是"YYYY.MM.dd"。这在Java 7中有效,其中Y表示“周-年”,但在Java 6中无效,后者不支持Y作为格式说明符-仅y

    即使它是有效的,你也真的不希望Y出现在这里——你只需要指定周年,同时还要指定周年中的周和周中的日,而你在这里没有这样做

    坚持你发布的代码中的实际模式——但确保你的数据与之匹配