【Java】LocalDate, DateTimeformatterで取得した曜日を日本語で表示する方法
開発環境
・ホストOS: Windows10 Home insider build preview
・ゲストOS: WSL2 Ubuntu18.04 LTS
・VScode ver1.44.2
・Java openjdk11
問題
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Time {
public static void main(String[] args) {
LocalDate localDate = LocalDate.of(2020, 6, 3).plusMonths(1).plusDays(24);
DateTimeFormatter formmater = DateTimeFormatter.ofPattern("yyyy年MM月dd日(E)");
String format = localDate.format(formmater);
System.out.println(format);
}
}
上記のコードをコンパイルして実行した結果
2020年07月27日(Mon)
と曜日の部分が英語で出力される。(Mon)ではなく(月)と表示したい。
解決法
①java.util.Localeをインポートする
②ofPatternメソッドの第二引数にLocale.JAPANESEを渡して日本語表記を指定する
実際のコードで確認する
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
//変更部分
import java.util.Locale;
public class Time {
public static void main(String[] args) {
LocalDate localDate = LocalDate.of(2020, 6, 3).plusMonths(1).plusDays(24);
//変更部分
DateTimeFormatter formmater = DateTimeFormatter.ofPattern("yyyy年MM月dd日(E)", Locale.JAPANESE);
String format = localDate.format(formmater);
System.out.println(format);
}
}
出力結果は…
2020年07月27日(月)
無事曜日を日本語表記に変更することができた。
参考資料
Locale (Java Platform SE 7)
DateTimeFormatter (Java Platform SE 8)
LocalDate (Java Platform SE 8)
Author And Source
この問題について(【Java】LocalDate, DateTimeformatterで取得した曜日を日本語で表示する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/Jazuma/items/f20a8107ddb0bc518a07著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .