解析android的日期异常

时间:2018-02-09 11:02:14

标签: android android-activity simpledateformat date-parsing android-date

我正在使用一个函数来取出给定日期和当前日期之间的差异。在所有的地方,这个功能工作正常,但在一个地方,它会抛出unparseable date例外。

以下是我使用的功能:

public boolean timeDiff24hrs(String alarmTime) {

    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy'T'HH:mm:ss");
    sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
    Date date = new Date();
    String s = sdf.format(date);
    String alarmDateStr="";
    try {
        Date alarmDate=sdf.parse(alarmTime);
        alarmDateStr=sdf.format(alarmDate);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    int diff = diffOf2Days(alarmDateStr, s);

    if (diff > 1439) {
        return true;
    }
    return false;
}

这里我尝试执行try块时遇到异常。

我传递给函数的alarmDate是: 1/31/2018 8:58:12 AM +00:00

有人可以解释一下。

1 个答案:

答案 0 :(得分:0)

您使用的日期格式1/31/2018 8:58:12 AM +00:00不正确SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy'T'HH:mm:ss"); 并返回与预期值不同的值。

1/31/2018 8:58:12 AM +00:00
  

返回1/31 / 2018T8:58:12

你正试图通过以下

{{1}}