53

文字列から日付のみを変換する書式文字列の指定方法。私の場合、日付部分のみが関連しています

DateTime失敗するように構築する:

String dateString = "2009-04-17";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
DateTime dateTime = formatter.parseDateTime(dateString);

エラーありjava.lang.IllegalArgumentException: Invalid format: "2011-04-17" is too short

おそらく、LocalDate代わりに使用する必要があるためです。しかし、 のフォーマッタは見当たりませんLocalDateString dateString = "2009-04-17";変換する最良の方法は何ですかLocalDate(または、それが正しい表現でない場合は別のもの)

ありがとう...

4

6 に答える 6

59

おそらく探しているのはLocalDate(Object). ジェネリックを使用するため少し混乱しますが、コンストラクターにa を渡すと、 aを処理する方法を知っているa をObject使用することがドキュメントに示されています。ConverterManagerStringString

LocalDate myDate = new LocalDate("2010-04-28");
于 2010-04-27T13:58:57.620 に答える
20

メソッドを使用しparse(String)ます。

LocalDate date = LocalDate.parse("2009-04-17");
于 2013-08-22T11:05:05.787 に答える
1

LocalDate.of個別の引数として渡された年、月、日で使用できます。

LocalDate date1 = LocalDate.of(2009, 4, 17);
LocalDate date2 = LocalDate.of(2009, Month.APRIL, 17);
于 2015-12-07T12:19:13.107 に答える