Java自定义格式的本地化日期

时间:2016-12-22 11:43:16

标签: java java-time

我正在尝试支持不同语言环境中的日期。目前,使用FormatStyle.SHORT工作正常。

DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).withLocale(someDynamicLocale);

问题是year字段只有2位数字。 如果我尝试解析这个世纪的字符串"22/10/84"

我可以使用其他格式(MEDIUMLONGFULL),但在所有这些格式中,月份是文本而不是数字,而在我的应用程序中则不是适用。

出于这个原因,我的梦想只是自定义SHORT格式,将年份字段的长度设置为4位数。

有可能吗? DateTimeFormatterBuilder可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用DateTimeFormatterBuilder,例如,如果您想要格式“d.M.yyyy”。你可以使用:

String datePattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(
  FormatStyle.SHORT, null, IsoChronology.INSTANCE, 
  Locale.SPAIN); 

这是一个类似的帖子How do I get localized date pattern string?