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コードを調べると、例外がスローされるようにコードで処理されたコンストラクタに0を渡しながら、PArsePositionオブジェクトが作成されることがわかりました。
//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」とは何ですか?その年と月のパターンが間違っています(これは 'yyyyww'ではなく' yyyyMM'です)。https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html –
また、 'parse'メソッドが利用できない場合は、ドキュメントが参照するのと同じバージョンを使用していない可能性があります。 –
@Hugoフォーマットは年と週です。 OK、それ以降のバージョン(これは2.6です)を調べます。 –