LocalDateTime today = LocalDateTime.now();
String timeMedium = today.format(DateTimeFormatter
.ofLocalizedTime(FormatStyle.MEDIUM));
System.out.println("timeMedium = " + timeMedium);
在这段代码中,我们期望输出类似的东西timeMedium = 1:12:50 AM
。它在许多具有相同 Java 版本 (16) 的 PC 中显示 AM/PM。该代码应与 java 8 及更高版本相同。但在我的电脑(MacOS Catalina)中,AM/PM 从未出现。下面的代码也是一样的。
ZonedDateTime today = ZonedDateTime.now();
String timeMedium = today.format(DateTimeFormatter
.ofLocalizedTime(FormatStyle.LONG));
System.out.println("timeMedium = " + timeMedium);
输出将是这样的timeMedium = 1:11:35 a.m. EDT
。它在 Ubuntu 20.04 中运行良好。但在我的 Mac 中,它显示没有 AM/PM。
注意 - 我的电脑设置为 12 小时时间格式。