Java 基于区域设置的GregoriaCalendar中的日期字符串
我正在创建一个Android应用程序。我有一个gregorianalendar变量。如果区域设置为US,我希望从该变量获取日期为MM dd yyyy;如果区域设置为EU,则获取日期为dd MM yyyy,依此类推。我不想硬编码每个语言环境字符串,我想让它取决于手机的语言环境 问题是,在看了几十个类似的问题之后,我仍然无法让它起作用。我猜这是两行或三行代码,可能使用SimpleDataFormat或GregorianCalendar.get()或getDisplayName() 谢谢你的帮助。试试这个Java 基于区域设置的GregoriaCalendar中的日期字符串,java,android,date,gregorian-calendar,Java,Android,Date,Gregorian Calendar,我正在创建一个Android应用程序。我有一个gregorianalendar变量。如果区域设置为US,我希望从该变量获取日期为MM dd yyyy;如果区域设置为EU,则获取日期为dd MM yyyy,依此类推。我不想硬编码每个语言环境字符串,我想让它取决于手机的语言环境 问题是,在看了几十个类似的问题之后,我仍然无法让它起作用。我猜这是两行或三行代码,可能使用SimpleDataFormat或GregorianCalendar.get()或getDisplayName() 谢谢你的帮助。试试
GregorianCalendar gc = ...
String str = DateFormat.getDateInstance(DateFormat.SHORT).format(gc.getTime());
顺便说一句,我们的默认日期格式(简称)是dd/MM/yy
eg 30/05/13您尝试过这个吗
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, yourLocale);
String formattedDate = df.format(yourcalender.getTime());
日历是GregoriaCalendar变量更好,但为什么不使用用户自己喜欢的日期格式呢
Locale.getLocale()
返回用户首选的区域设置,您可以使用此设置所有本地化值(日期、时间、货币等)的格式,并知道您正在为用户提供他们选择的格式。只是想知道,您使用区域设置EU针对哪个国家?抱歉,这是一个拼写错误,应该是RU。工作正常。我选择另一个作为答案,因为不指定区域设置意味着它会根据需要自动使用系统默认值。谢谢