DateTimeFormat没有年份的shortDate

时间:2017-05-04 11:18:34

标签: java android jodatime

我想要一个没有年份的DateTimeFormat.shortDate(),所以在德语中它将显示为02.01,而在英语中它将显示为01/02。

现在我正在使用以下内容。

return DateTimeFormat.shortDate()
    .withLocale(Locale.getDefault())
    .print(dateTime);

如何避免让DateTimeFormat打印出年份?

1 个答案:

答案 0 :(得分:0)

您的问题已经在这里得到解答:

Localised Date format without year with Joda Time

至少有一个很好的例子可以解决你的问题。

如果您知道自己只支持某些语言环境,则可以使用其他选项,例如:

Map<Locale, DateTimeFormatter> formats = new HashMap<>();

formats.put(Locale.US, DateTimeFormat.forPattern("dd/MM"));
formats.put(Locale.GERMAN, DateTimeFormat.forPattern("MM.dd"));

DateTimeFormatter dateTimeFormatter = Optional.ofNullable(formats.get(Locale.getDefault()))
    .orElse(DateTimeFormat.forPattern(DEFAULT_PATTERN));

dateTimeFormatter.print(DateTimeUtils.today());