2016-10-04 20 views
0

hello guys日付を文字列(例:2016-4-10)として返すWebサービスがあります。 私のアンドロイドのアプリケーションは英語(アラビア語と英語)です。英語の場合、次のパターンに日付を変換することができます。2016年9月10日 アラビア語で変更すると失敗します: الثلاثاء、تشرينオラクル2016 助けてください。アラビア語の日付パターン

英語の場合:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d"); 
     Date date3 = null; 
     try { 
      date3 = sdf.parse(date); 
     } catch (Exception e) { 

     } 
     sdf = new SimpleDateFormat("EEEE, MMMM yyyy"); 
     String format = sdf.format(date3); 
     System.out.print("Result: " + format); 
     holder.date.setText(format); 

アラビア語の場合:

Locale locale = new Locale("ar", "KW"); 
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d",locale); //doesnt work 
     Date date3 = null; 
     try { 
      date3 = sdf.parse(date); 
     } catch (Exception e) { 

     } 
     sdf = new SimpleDateFormat("EEEE, MMMM yyyy"); 
     String format = sdf.format(date3); 
     System.out.print("Result: " + format); 
     Log.wtf("result",format); 
     holder.date.setText(format); 
+0

うれしいです。将来の質問のヒントとして、 "私はアラビア語の時にそれを変更することに失敗しました"の代わりに、あなたは明らかに_how_を表示する必要があります:まさにあなたが得ているものとあなたが望むもの(私は "仮定しています" "あなたが欲しいものです)。 – TripeHound

答えて

0

それは働きました!

アラビア語の場合:あなたはあなたの答えを見つけた

Locale locale = new Locale("ar"); 
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d"); 
     Date date3 = null; 
     try { 
      date3 = sdf.parse(date); 
     } catch (Exception e) { 

     } 
     sdf = new SimpleDateFormat("EEEE, MMMM yyyy",locale); 
     String format = sdf.format(date3); 
     System.out.print("Result: " + format); 
     Log.wtf("result",format); 
     holder.date.setText(format); 
     //holder.date.setText(date); 
関連する問題