DateTimeFormatter
を使っていた際に、パターン MMM
によって月が英語表記にならない問題に直面していました(例えば「Sep」ではなく「9月」になってしまう)。
結論
DateTimeFormatter.ofPattern
の引数にLocale.US
を渡してあげたら解決しました。
import java.util.Locale;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) throws Exception {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MMM yyyy", Locale.US);
LocalDate ld = LocalDate.parse("2021-09-23", dtf);
System.out.println(ld.format(dtf));
//出力結果 23 Sep 2021
}
}
フォーマッターをUS仕様にしてあげたことで他の日付パターンも全て英表記になりました。
コメント