###質問内容
こちらのサイトを参考に、SimpleDateFormatクラスを使用して、
デフォルト(日本)の時刻をformatメソッドで表したところ、
パターン文字 a(午前/午後) , E(曜日)の箇所が、漢字ではなく英語で表示されてしまいました。
▼期待結果
2011年08月30日 火曜日
午後 01:51:52 651
▼実際の表示
2018年01月05日 Fri曜日
AM 01:05:53 484
ソースコードをそのまま貼り付けて作成しているため、
ソース内にミスが有るとは考えづらく、
こちらは、何が原因となって異なる表示になってしまっているのでしょうか?
また、自身ではAPIの仕様が変更されているのではないかと推測し、
使用しているJavaSE8と、前バージョンのSimpleDateFormatの
APIドキュメントを見比べてみましたが、それらしい記述を発見することが出来ませんでした。
###該当のソースコード
java
1import java.util.Calendar; 2import java.text.SimpleDateFormat; 3 4public class SimpleDateFormatSample { 5 public static void main(String args[]) { 6 7 //現在日時を取得する 8 Calendar c = Calendar.getInstance(); 9 10 //フォーマットパターンを指定して表示する 11 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E曜日"); 12 System.out.println(sdf.format(c.getTime())); 13 14 //フォーマットパターン変更して表示する 15 sdf.applyPattern("a hh:mm:ss SSS"); 16 System.out.println(sdf.format(c.getTime())); 17 18 } 19}
###補足情報
LocaleクラスのgetDefaultメソッドを使用して、
自身のパソコンの言語コード、国コードを確認すると、
「日本語」、「日本」が設定されている事を確認しております。
【環境】
OS : macOS High Sierra (10.13.2)
IDE : Eclipse Oxygen.1a Release (4.7.1a)
JRE : 1.8.0_144
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/05 01:38 編集
2018/01/08 13:59