如何使用DateTimeFormatter.ofPattern(“EEEE,MMMM d”,locale)转换为日期格式?

时间:2016-10-06 18:04:44

标签: java

例如:

DateTimeFormatter dtfr = DateTimeFormatter.ofPattern("EEEE, MMMM d", locale);
return dtfr.format(localDate);

结果是(语言环境是德国):

Expected :Samstag, 28. Mai
Actual   :Samstag, Mai 28

如果我使用

DateTimeFormatter dtf = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
return dtf
            .withLocale(locale)
            .format(localDate1);

结果是:

Expected :Samstag, 28. Mai
Actual   :Samstag, 28. Mai 2016

我不能简单地摆脱这一年,因为另一种语言可能有不同的词来描述年份。

那么我如何使用DateTimeFormatter(而不是SimpleDateFormat)来使其工作?

1 个答案:

答案 0 :(得分:0)

重新排列传递的参数

"EEEE, MMMM d"将{。Samstag, Mai 28

尝试使用

"EEEE, d MMMM"会给你.. Samstag, 28 Mai

您可以在Java API中找到所需的所有模式:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#Patterns