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)。 –