使用 DateFormat 的实例格式化和解析 Java 日期(或日历)类非常容易。
我可以将当前日期格式化为一个简短的本地化日期,如下所示:
DateFormat formatter = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault());
String today = formatter.format(new Date());
我的问题是我需要获取此本地化模式字符串(类似于 "MM/dd/yy"
)。
这应该是一项微不足道的任务,但我就是找不到提供者。
原文由 Paweł Dyda 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于 SimpleDateFormat ,您调用 toLocalizedPattern()
编辑:
对于 Java 8 用户:
Java 8 Date Time API 类似于 Joda-time。要获得本地化模式,我们可以使用 DateTimeFormatter 类
DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
请注意,当您在 LocalDate 上调用 toString() 时,您将获得格式为 ISO-8601 的日期
请注意,Java 8 中的 Date Time API 受到 Joda Time 的启发,大多数解决方案都可以基于与时间相关的问题。