【问题标题】:Cant convert String to date in android [duplicate]无法在android中将字符串转换为日期[重复]
【发布时间】:2018-11-24 01:57:07
【问题描述】:
final Object ret = task.getResult().get("ReturnExpiry");
returndate = String.valueOf(ret);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        try {
                            date = format.parse(returndate);
Log.e("date",String.valueOf(date));
                        } catch (ParseException e) {
                            e.printStackTrace();
                        }

我得到的错误是

java.text.ParseException: Unparseable date: "Thu Jun 21 04:33:58 GMT+00:00 2018"
06-14 10:02:12.681 18943-18943/com.bodaty.samyata.samyata W/System.err:     at java.text.DateFormat.parse(DateFormat.java:362)

为什么我在尝试解析时遇到这样的错误...... 如果我使用下面的代码,我的应用程序因解析错误而崩溃.....谁能帮助我

java.util.Date dt = new java.util.Date(returndate);

【问题讨论】:

  • 你的 "yyyy-MM-dd HH:mm:ss" 是否正确?确保这是您在returndate 中获得的格式,或者只是发布您通过的日期.. 我会检查
  • 您的日期格式与您的日期不匹配。阅读SimpleDateFormat 文档,为您的约会构建模式

标签: java android firebase


【解决方案1】:

您的数据与您的模式不匹配。像这样更新你的模式

 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
        Date date = null;
        try{
            date  = sdf.parse("Thu Jun 21 04:33:58 GMT+00:00 2018");
        }catch (Exception e){ e.printStackTrace(); }
        System.out.println("check..." + date;

希望它能解决你的问题

【讨论】: