2

В моей Android App я преобразование строки в дату, используя следующий методAndroid parseException уникальная дата на определенных устройствах?

public Date convertToDate(String date) { //(input date format "Feb 18, 2013 01:32 AM") 
     DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT); 
     try { 
      Date dateObj = dateFormat.parse(date); 
      return dateObj; 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } catch (Exception e) { 
      Log.d("Utility", e.getMessage()); 
     } 
     return null; 
    } 

Это прекрасно работает в большинстве мобильного, но по какой-то причине он не работает в 2.2 версии устройств и некоторой devies Samsung и throwing parse Исключение непроверяемая дата. Пожалуйста помоги.

ответ

3

использование SimpleDateFormat для вашего кода ..

SimpleDateFormat dfDate = new SimpleDateFormat("MMM dd,yyyy HH:mm a"); 
try { 
    dateObj = dfDate.parse(date); 
} catch (java.text.ParseException e) { 
    e.printStackTrace(); 
} 
+2

SimpleDateFormat делает работу, просто добавьте Locale аргумент, чтобы избежать проблем, связанных с языком: SimpleDateFormat (yourString, Locale.YOUR_COUNTRY) – lelloman

+0

это также бросает то же исключение без изменений , –

+0

проблема с дополнительным пространством после 'a'. Я удалил его. теперь отметьте один раз –

Смежные вопросы