0

私は次のコードを持っています

    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd-MMM-yyyy").withLocale(Locale.US);       
formatter.parseDateTime("10-23-2012");

次の例外が発生するのはなぜですか?

nested exception is java.lang.IllegalArgumentException: Invalid format: "10-23-2012" is malformed at "23-2012"

javadocを読んだ後でも、私はこれを理解することができます。小文字のd(日)は最小桁数を表すと想定されていますが、例外によれば、切り捨てられますか?何か案は?

4

2 に答える 2

1

には3か月の文字がありますが、にdd-MMM-yyyyは2つしかありません10-23-2012

ひどくなる。真ん中の数字は月ではなく日であるように見えます。とにかく「OCT」のようなものが欲しいでしょう。

于 2012-08-15T22:04:11.007 に答える
1

試してみてくださいdd-MM-yyyy。2つのMだけに注意してください。さらに、解析する10-23-2012には、形式は次のようになります。MM-dd-yyy

MMM = 2月、7月など。

MM = 02、07など。

参照

于 2012-08-15T22:04:14.887 に答える