2016-11-11 11 views
0

この方法を使用して時刻を「02:00 PM」=「14:00」に変換する このメソッドは、Moto g3、Moto g4、この問題を解決するために私を助け..pleaseレノボK3ノート、サムスンギャラクシーJ3 ...Smasung galaxy s6 Edgeで12時間形式から24時間に変換するときの問題

public static String convertTimeto24hours(String time) { 
    String timein24hours = ""; 
    try { 

     SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm"); 
     SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a"); 
     Date date = null; 
     try{ 
      date = parseFormat.parse(time); 
      System.out.println(parseFormat.format(date) + " = " + displayFormat.format(date)); 
     }catch (ParseException e){ 
      e.printStackTrace(); 
     } 
     timein24hours = "" + displayFormat.format(date); 

     return timein24hours; 
    } catch (Exception e) { 
     print(e); 
     Log.error("convertTimeto24hours",e); 
    } 
    return timein24hours; 
} 
+0

私は推測することができますので、あなたは具体的なエラーについて説明していません... AM/PM-文字列を解析することであるので、たぶん、あなたが期待する言語(おそらく英語)に明示的にロケールを設定する必要がありますロケール依存。さらに、am/pm-markersでの大文字化や構文解析文字の使用は、ある種の文字列前処理を必要とする問題かもしれません。 –

+0

ya s6はa.m./p.m.を表示します。午前と午後のような他の在庫アンドロイド携帯電話よりも..........文字列が問題になるかもしれません...提案に感謝私はそれを検出してあなたに戻ろうとします。 – KDOSHI

答えて

2

あなたがLocaleを設定する必要があります。これを設定しないと、システムはデフォルトロケールを取得するためです。ここで簡単なコードは次のとおりです。

SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm",Locale.US); 
SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a",Locale.US); 
+0

パーフェクトアンサー! – Sach

関連する問題