Locale locale = new java.util.Locale("en", "AU");
DateTimeFormatter fmt = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).withLocale(locale);
ZonedDateTime zdt = ZonedDateTime.parse("2021-11-19T14:13:12Z");
return fmt.format(zdt);
根据操作系统的不同,结果也会有所不同:
操作系统 | 格式 | Java版本 |
---|---|---|
Windows | 2021年11月19日 下午2:13:12 | 1.8.0_312 |
macOS | 2021年11月19日 下午2:13:12 | 1.8.0_312 |
Linux/Ubuntu | 2021年11月19日 下午2:13:12 | 1.8.0_292 |
这是否是预期的结果?我的单元测试在不同的环境下失败,对我来说似乎很意外。
Locale locale = new java.util.Locale("en", "AU");
。你是不是想写成.withLocale(locale);
而不是.withLocale(context.getLocale());
? - Turing8519/11/21, 2:13 pm
,而 Linux 的格式为19/11/21 2:13 PM
。 - Grahame Grieve