我想要一个没有年份的DateTimeFormat.shortDate()
,所以在德语中它将显示为02.01,而在英语中它将显示为01/02。
现在我正在使用以下内容。
return DateTimeFormat.shortDate()
.withLocale(Locale.getDefault())
.print(dateTime);
如何避免让DateTimeFormat
打印出年份?
答案 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());