0

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

public static String WEEK_DAY_SHORT = "c";

public static String getWeekDay(int day) {
    GregorianCalendar calendar = new GregorianCalendar();

    calendar.set(Calendar.DAY_OF_WEEK, day + 2);

    DateFormat formatter = new SimpleDateFormat(WEEK_DAY_SHORT + ", " + DATE);
    return formatter.format(calendar.getTime());
}

このメソッドを 4.1.2 で実行すると、すべて問題なく、次のような出力が得られますがMo;Di;Mi;... 、これを 2.2 で実行すると、次のエラーが発生します。

java.lang.IllegalArgumentException: Unknown pattern character - 'c'
        at java.text.SimpleDateFormat.validateFormat(SimpleDateFormat.java:379)
        at java.text.SimpleDateFormat.validatePattern(SimpleDateFormat.java:428)
        at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:499)
        at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:363)
        at
de.MayerhoferSimon.Vertretungsplan.Utils.DateHelper.getWeekDay(DateHelper.java:54)

"cc"短いデイネームまたは"cccc"長いデイネームを試したときも同じです。

SimpleDateFormat2.2 と 4.1.2 の間でクラスに違いはありますか? どうすればこれを修正できますか?

4

1 に答える 1

2

デイネームには「EEEE」、短いデイネームには「EEE」を使用してみてください

于 2013-07-23T18:25:04.207 に答える