如何在Java中使用SimpleDateFormat在日语语言环境中显示AM/PM字段?

Sac*_*tin 5 java datetime localization internationalization

我希望以下列格式显示日语"01:00午后"的时间

我目前的源代码如下

Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
System.out.println("Start Time "+SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM,Locale.JAPANESE).format(date));
Run Code Online (Sandbox Code Playgroud)

我得到以下输出开始时间7:09:37

PS:我也尝试将时间格式设置为"K:mm a"和"H:mm a".他们俩都没用.

Jee*_*til 0

您已经创建了对象SimpleDateFormat但没有使用它。提供Locale给此类并查看输出。

\n\n
Calendar cal = Calendar.getInstance();\nDate date = cal.getTime();\nSimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy a", Locale.JAPANESE);\nSystem.out.println("Start Time "+ sdf.format(date));\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出是:Start Time 10/16/2015 \xe5\x8d\x88\xe5\xbe\x8c

\n\n

或者使用H:mm aDateFormat 而不是MM/dd/yyyy a获得所需的结果,以防万一Start Time 13:01 \xe5\x8d\x88\xe5\xbe\x8c\n

\n\n

请参阅文档以了解有关Date FormatsJava 的更多信息。

\n