2013-05-30 66 views
2

我正在創建一個Android應用程序。我有一個GregorianCalendar變量。如果語言環境爲美國,我想從此變量中獲取日期,如MM-dd-yyyy,如果語言環境爲歐盟等,則需要dd-MM-yyyy。我不想硬編碼每個區域設置的字符串,我想讓它取決於手機的區域設置。來自GregorianCalendar的基於語言環境的日期字符串

問題是,經過幾十個類似的問題,我仍然無法得到這個工作。我猜測它是兩三行代碼,可能使用SimpleDateFormat或GregorianCalendar.get()或getDisplayName()。

感謝您的幫助。

+0

只是要知道,哪個國家與歐盟地區的目標? –

+0

對不起,這是一個錯字,它應該是RU。 –

回答

4

試試這個

GregorianCalendar gc = ... 
    String str = DateFormat.getDateInstance(DateFormat.SHORT).format(gc.getTime()); 

BTW默認日期格式(SHORT)對我們來說是dd/MM/yy如30/05/13

+0

完美,謝謝! –

2

你試試這個

DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, yourLocale); 
String formattedDate = df.format(yourcalender.getTime()); 

與yourcalender是GregorianCalendar的可變

+1

工程就好了。我選擇了另一個作爲答案,因爲未指定區域設置意味着它會自動使用系統默認值,因爲我需要。謝謝! –

0

更好的是爲什麼不使用用戶自己的首選日期格式? Locale.getLocale()返回用戶的首選語言環境,您可以使用它來格式化所有本地化的值(日期,時間,貨幣等),並知道您給用戶一種他們選擇的格式。

相關問題