0
我正在使用以下片段以从字符串中获取日期。无法使用FastDateFormat从字符串解析日期
//class org.apache.commons.lang3.time.FastDateFormat
FastDateFormat fdf = FastDateFormat.getInstance("yyyyww");
Object ob = fdf.parseObject("201701", new ParsePosition(1));
java.util.Date d = (java.util.Date) ob;
System.out.println(d);
另外通过调用的parseObject(String)方法的使用来完成。但是通过调查API代码,我发现它创建了PArsePosition对象,同时在其构造函数中传递了0,该构造函数已在代码中处理以引发异常。
//class org.apache.commons.lang3.time.FastDateFormat
FastDateFormat fdf = FastDateFormat.getInstance("yyyyww");
Object ob = fdf.parseObject("201701", new ParsePosition(1));
java.util.Date d = (java.util.Date) ob;
System.out.println(d);
的下面文档中提到了存在parse()方法,但没有可用的。
利用的parseObject()的赋予如上所述的结果。
API中的parseObject()方法如下,总是返回null。
请上另一种方法或一些稳定的版本建议。
'201701'是什么?如果是年份和月份,你的模式是错误的(应该是'yyyyMM'而不是'yyyyww'):https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – 2017-07-19 13:02:26
如果'parse'方法不可用,也许你没有使用文档所指的相同版本。 – 2017-07-19 13:03:59
@Hugo格式是年和周。好的,看看更多的版本(这个是2.6)。 –