以用户语言标记所有星期几天

Waz*_*_Be 1 java android date

我想做一些比以下更聪明的事情:

String[] strDaysEn = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thusday", "Friday", "Saturday" };
String[] strDaysFr = new String[] { "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" };
Run Code Online (Sandbox Code Playgroud)

要么

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="week_days">
        <item>Monday</item>
        <item>Tuesday</item>
        <!-- and so on -->
    </string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)

我想在我的用户语言中自动执行此操作,并获得java和Date的好处,所以基本上我必须执行以下循环:

for (i= 0 to 6)
    DateFormat formatter = new SimpleDateFormat("E");
    Date date = (Date) formatter.parse(new Date()+i);
    System.out.println(date);
Run Code Online (Sandbox Code Playgroud)

这会更好,因为java.Date会自动给我所有的翻译!我当然不想重新发明轮子!

但是这个循环似乎浪费时间和处理器,我相信,有更好的方法来实现这一目标.

非常感谢任何建议!

Ban*_*zen 5

只需您需要的语言的语言环境中获取日期名称,而无需在其间使用任何格式化程序.您不应该让您的应用程序的翻译人员在框架中完成工作.

String[] days = new DateFormatSymbols(Locale.getDefault()).getWeekdays();
Run Code Online (Sandbox Code Playgroud)