2014-09-26 90 views
2

我想獲取系統區域設置的星期日,星期一,星期二,星期三,星期四,星期五和星期六的字符串。我有代碼:如何獲取星期日,星期一....和星期六字符串在Android系統的語言?

Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); 
SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); 
String SundayString = sdf.format(cal.getTime()); 

此代碼可以獲得星期日。但我必須做七次才能得到我需要的所有字符串。

我認爲下面的另一個代碼:

Calendar cal = Calendar.getInstance(); 
String[] weekString = new String[7] 
for(int i=1;i<=7;++i){ 
    cal.set(Calendar.DAY_OF_WEEK, i); 
    SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); 
    weekString[i-1] = sdf.format(cal.getTime()); 
} 

這是工作,因爲SUNDAY〜週六的1〜7,但由於Android是否改變常數變量的定義該代碼將它不是一個很好的代碼,我想執行不力。

有沒有其他的良好和elegent的方式來做?

回答

4

可以使用DateFormatSymbols

DateFormatSymbols dateFormatSymbols = new DateFormatSymbols(context.getResources().getConfiguration().locale); 
Log.i("DAYS", " " + Arrays.asList(dateFormatSymbols. getWeekdays()); 
+0

這是工作,代碼非常優雅,謝謝! – 2014-09-26 14:53:15

+0

不客氣 – Blackbelt 2014-09-26 14:54:11

0

我不知道你支持多少種語言,但是如果有幾種語言你可以在values文件夾中添加實際的字符串。

所以對西班牙語如

值-ES你會串

例如數組,在strings.xml:

<string-array name="days_of_the_week"> 
    <item>Monday in Spanish</item> 
    <item>Tuesday in Spanish</item> 
</string-array> 

的String []天= getResources( ).getStringArray(R.array.days_of_the_week)

然後從數組中獲取它們

+0

謝謝您的回答,但老闆說,我們必須支持所有支持的語言Android系統。太多我們去搜索。 – 2014-09-26 14:55:25

相關問題