0

Использование этого метода для преобразования времени «02:00 PM» = «14:00» Этот метод хорошо работает с Moto g3, Moto g4, Lenovo K3 обратите внимание, Samsung Galaxy J3 ..please помочь мне решить эту проблему ...Проблема в режиме конвертирования с 12-часовым форматом до 24 часов в галактике Смасунга s6 Край

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-маркерах также может быть проблемой, которая может потребовать некоторого рода предварительную обработку строк. –

+0

ya s6 отображает a.m./p.m. а не другой Android android phone like am & pm .......... Может быть, строка - это проблема ... Спасибо за предложение, я попытаюсь обнаружить его и вернуться к вам. – KDOSHI

ответ

2

вам нужно установить Locale. потому что, когда вы этого не устанавливаете, система выбирает стандартную локаль. вот простой код:

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

Идеальный ответ! – Sach