2

複数の形式で日付を受け入れるプログラムを作成するために、Java の割り当てに取り組んでいます。

日はDD、月はMM(数字) またはMMM(最初の 3 文字)、年はYYまたはである必要がありYYYYます。区切り文字には、スラッシュ、ドット、またはダッシュを使用できます。

受け付ける入力例:

  • 1/May/2001
  • 23.8.9
  • 7-01-01

私の問題は、ユーザー入力が文字列によって受け入れられることです。そのため、情報を区切り記号で区切る必要があります。

これを行うには何を使用すればよいですか? java.util.regexパッケージを使用することをお勧めしますか?

4

5 に答える 5

2

さまざまな形式の文字列を作成しSimpleDateFormatParseException. これはエレガントなソリューションではありませんが、うまくいくはずです。

次のようなことができます。必要に応じて調整してください。

String[] formatStrings = {"dd/MM/yyyy", "dd.mm.yy", "dd-mm-yyy"};

//...

Date tryParse(String dateString)
{
    for (String formatString : formatStrings)
    {
        try
        {
            return new SimpleDateFormat(formatString).parse(dateString);
        }
        catch (ParseException e) {
          \\you can log the error
         }
    }

    return null;
}
于 2013-08-22T10:43:23.063 に答える