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

标签 java java-time

我正在尝试支持不同区域设置中的日期。目前,FormatStyle.SHORT 一切正常。

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

问题是year字段只有 2 位数字长。 如果我尝试解析这个字符串 "22/10/84"我们现在处于哪个世纪?

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

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

这可能吗?可以DateTimeFormatterBuilder帮帮我?

最佳答案

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

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

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

关于具有自定义格式的 Java 本地化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41282416/

相关文章:

java - 如何将从数据库(主键)获取的字符串值排序为表中的整数?

java - 从字节数组创建文件对象时指定文件名(不创建物理文件)

java-time - 时间单位的持续时间

java - 为任意 DatePicker 创建自定义年表

Java 8 : How to parse expiration date of debit card?

java - 如何检查日期对象是否等于昨天?

java - 跟踪图节点的树的最小高度

java.sequence处理运算符?

java - 如何获取最后7位之前的子字符串

java - 在 JavaFX 的 DatePicker 中设置一周的第一天