我试图根据给定的语言环境以不同的方式格式化Java中的日期。例如,我希望英语用户看到“ 2009年11月1日”(格式为“ MMM d,yyyy”),而挪威用户希望看到“ 1. nov。2009”(“ d。MMM。yyyy”)。
如果将语言环境添加到SimpleDateFormat构造函数中,则月份部分工作正常,但是其余部分呢?
我希望可以将与语言环境配对的格式字符串添加到SimpleDateFormat中,但是找不到任何方法。有可能还是我需要让我的代码检查语言环境并添加相应的格式字符串?
使用[DateFormat.getDateInstance(int style,Localelocale)](https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html#getDateInstance(int,%20java.util.Locale))而不是使用创建自己的模式SimpleDateFormat。
[DateFormat.getDateInstance(int style,Localelocale)](https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html#getDateInstance(int,%20java.util.Locale))
SimpleDateFormat dateFormat = new SimpleDateFormat("EEEE dd MMM yyyy", Locale.ENGLISH); String formatted = dateFormat.format(the_date_you_want_here);