Percy

SimpleDateFormat和基于语言环境的格式字符串

android

我试图根据给定的语言环境以不同的方式格式化Java中的日期。例如,我希望英语用户看到“ 2009年11月1日”(格式为“ MMM d,yyyy”),而挪威用户希望看到“ 1. nov。2009”(“ d。MMM。yyyy”)。

如果将语言环境添加到SimpleDateFormat构造函数中,则月份部分工作正常,但是其余部分呢?

我希望可以将与语言环境配对的格式字符串添加到SimpleDateFormat中,但是找不到任何方法。有可能还是我需要让我的代码检查语言环境并添加相应的格式字符串?


阅读 383

收藏
2020-12-03

共2个答案

一尘不染

使用[DateFormat.getDateInstance(int style,Localelocale)](https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html#getDateInstance(int,%20java.util.Locale))而不是使用创建自己的模式SimpleDateFormat。

2020-12-03
一尘不染

SimpleDateFormat dateFormat = new SimpleDateFormat("EEEE dd MMM yyyy", Locale.ENGLISH);
String formatted = dateFormat.format(the_date_you_want_here);
2020-12-03