Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于区域设置的GregoriaCalendar中的日期字符串_Java_Android_Date_Gregorian Calendar - Fatal编程技术网

Java 基于区域设置的GregoriaCalendar中的日期字符串

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() 谢谢你的帮助。试试

我正在创建一个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。工作正常。我选择另一个作为答案,因为不指定区域设置意味着它会根据需要自动使用系统默认值。谢谢