【问题标题】:Android parseException unparseable date in specific devices?特定设备中的Android parseException无法解析日期?
【发布时间】:2013-02-02 18:08:16
【问题描述】:

在我的 android 应用程序中,我使用以下方法将字符串转换为日期

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 版本的设备和一些三星设备中无法正常工作,并且抛出解析异常无法解析的日期。请帮忙。

【问题讨论】:

    标签: android date-format android-2.2-froyo date-conversion parseexception


    【解决方案1】:

    为您的代码使用 simpledateformat..

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

    【讨论】:

    • SimpleDateFormat 完成这项工作,只需添加一个 Locale 参数以避免与语言相关的问题:SimpleDateFormat(yourString,Locale.YOUR_COUNTRY)
    • 这也会抛出同样的异常,没有变化。
    • 问题在于a 之后有多余的空间。我删除了它。现在检查一次
    • MMM dd, yyyy h:mm aa 这种格式对@user1527232 和 Ram Kiran 解决方案都有效,谢谢大家 :) developer.android.com/reference/android/text/format/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多