我正在创建一个Android应用程序。我有一个GregorianCalendar变量。如果区域设置为US,则我希望将此变量的日期设置为MM-dd-yyyy,如果区域设置为EU,则希望获得dd-MM-yyyy等等。我不想硬编码每个语言环境字符串,我想让它取决于手机的语言环境。
问题在于,在查看了数十个类似的问题之后,我仍然无法让它发挥作用。我猜它是两行或三行代码,可能使用SimpleDateFormat或GregorianCalendar.get()或getDisplayName()。
感谢您的帮助。
答案 0 :(得分:4)
试试这个
GregorianCalendar gc = ...
String str = DateFormat.getDateInstance(DateFormat.SHORT).format(gc.getTime());
美国的BTW默认日期格式(简称)为dd/MM/yy
,例如30/05/13
答案 1 :(得分:2)
你试过这个吗?
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, yourLocale);
String formattedDate = df.format(yourcalender.getTime());
with yourcalender是GregorianCalendar变量
答案 2 :(得分:0)
更好的是,为什么不使用用户自己的首选日期格式? Locale.getLocale()
返回用户首选的语言环境,您可以使用它来格式化所有本地化值(日期,时间,货币等),并知道您为用户提供了他们选择的格式。