1

私のコードでは、文字列値 (入力) を に変換する必要がありjava.sql.Date formatます。私が直面している問題は、入力日付形式が定義されておらず、任意の形式である可能性があることです。たとえば、入力文字列は"Jan 10,2014"または"01-10-2014"または"2014/Jan/10"です。したがって、この入力値を に変換する必要がありますjava.sql.Date(DD/MMMM/YYYY)。この変換を行う方法はありますか?

4

2 に答える 2

4

それは不可能です。

dd/MM/yyyyとを区別することはできませんMM/dd/yyyy

あなたは本当にフォーマットを知る必要があります。

于 2014-03-25T08:38:04.297 に答える
0

ListSimpledateFormat を使用して、上記のすべてのパターンを使用してみてください。

このようなもの:

    SimpleDateFormat format1 = new SimpleDateFormat("MMM dd,yyyy");
    SimpleDateFormat format2 = new SimpleDateFormat("MM-dd-yyyy");
    SimpleDateFormat format3 = new SimpleDateFormat("yyyy/MMM/dd");

    // Note: be sure about the format, or else you may end up assigning incorrect values
    List<DateFormat> list = new ArrayList<DateFormat>();
    list.add(format1);
    list.add(format2);
    list.add(format3);

    for (DateFormat format : list) {
        try {
            System.out.println(format.parse("Jan 10,2014"));
            // Match found. Take action
        } catch (ParseException exception) {
            // Ignore. Try other pattern
        }
    }
于 2014-03-25T08:39:45.443 に答える