SimpleDateFormat の Javadocからの引用:
書式設定では、パターン文字の数が 4 つ以上の場合、完全な形式が使用されます。それ以外の場合は、利用可能な場合は短縮形または省略形が使用されます
したがって: (a) 違いが見られると予想される場合は、aaaa(4 x a) ではなくaaa(4 x a) を使用します。(b) AM/PM に短い形式 (または長い形式) がない場合、a指定子の繰り返し回数は重要ではありません。
もう少し徹底するために、次のプログラムを実行しました。フォーマットが影響を受けたケースはゼロでした。
Date date = new Date();
int n = 0;
for (String country : Locale.getISOCountries()) {
for (String language : Locale.getISOLanguages()) {
Locale loc = new Locale(language, country);
String as = "";
String prev = null;
for (int i = 0; i < 20; ++i) {
++n;
as += "a";
String current = new SimpleDateFormat(as, loc).format(date);
if (prev != null && !prev.equals(current)) {
System.out.println("Locale: " + loc + ", as=" + as + ", current="
+ prev + ", next=" + current);
}
prev = current;
}
}
}
System.out.println("Tried out " + n + " combinations.");