java.time.format.FormatStyle を確認

java.time.format.FormatStyle で Locale に従った日付表記を試してみる。

    LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(new Locale("ja", "JP")));
    LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG).withLocale(new Locale("ja", "JP")));
    LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(new Locale("ja", "JP")));
    LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).withLocale(new Locale("ja", "JP")));

4通りある。
これを、 Locale( 言語、国 ) を指定して標準出力してみると、、

--- FormatStyle.FULL ---
ja JP → 2017年3月8日
en US → Wednesday, March 8, 2017
en UK → Wednesday, March 8, 2017
zh CN → 2017年3月8日 星期三
zh TW → 2017年3月8日 星期三
ko KR → 2017년 3월 8일 수요일
ru RU → 8 марта 2017 г.
--- FormatStyle.LONG ---
ja JP → 2017/03/08
en US → March 8, 2017
en UK → March 8, 2017
zh CN → 2017年3月8日
zh TW → 2017年3月8日
ko KR → 2017년 3월 8일 (수)
ru RU → 8 марта 2017 г.
--- FormatStyle.MEDIUM ---
ja JP → 2017/03/08
en US → Mar 8, 2017
en UK → Mar 8, 2017
zh CN → 2017-3-8
zh TW → 2017/3/8
ko KR → 2017. 3. 8
ru RU → 08.03.2017
--- FormatStyle.SHORT ---
ja JP → 17/03/08
en US → 3/8/17
en UK → 3/8/17
zh CN → 17-3-8
zh TW → 2017/3/8
ko KR → 17. 3. 8
ru RU → 08.03.17

en US(米国)も en UK も 変わらない。

FormatStyle.MEDIUM と FormatStyle.SHORT → 中国と 微妙な扱いの台湾、違う!!
(この差にあまり触れたくない)