-1

すべてが正常に機能する前に、突然例外が発生しました

    Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Unterminated quote
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:859)
at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:659)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:585)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:560)
at Utilities.Utility.DateColumnFormatParser(Utility.java:2149)
at jewelleryerpapplication.GUI.Gold.IssueToAssembling$9.actionPerformed(IssueToAssembling.java:921)

フォーマットの何が問題になっていますか

コード用

String currentFormat= "dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a'";
SimpleDateFormat fromUser = new SimpleDateFormat(currentFormat);

なぜこれが起こるのかわかりません。

4

3 に答える 3

1

フォーマット文字列の先頭に一重引用符がありません。

String currentFormat= "'dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a'";
于 2012-11-27T12:01:50.177 に答える
1

ダッシュなどを引用する場合は、パターンが必要だと思います"dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a"

つまり、末尾に一重引用符があります。

実際、引用符が必要かどうかはわかりません。以下は正常に動作します。

String currentFormat = "dd-MM-yyyy hh:mm:ss a";

ドキュメントから:

日付と時刻のパターン文字列内で、「A」から「Z」および「a」から「z」までの引用符で囲まれていない文字は、日付または時刻の文字列のコンポーネントを表すパターン文字として解釈されます。解釈を避けるために、テキストは一重引用符(')を使用して引用できます

スペースやダッシュなどを引用する必要はありません。

于 2012-11-27T12:03:50.893 に答える
1

がありますUnterminated quote。文字列の最初の文字は:である必要があり'ます

String currentFormat = "'dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a'";

これらの一重引用符がこの形式で許可されているかどうかはわかりません。式からそれらを取り除いてみてください。

于 2012-11-27T12:01:02.700 に答える