Android 如果两个日期时间 ISO 字符串中的日期相同

Android if same date out of two datetime ISO strings

我们用 ISO 格式(UTC)解析以下日期时间字符串:

private final SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
isoFormat.setTimeZone(getTimeZone("UTC"));

try {
    Date a = isoFormat.parse(a);
    Date b = isoFormat.parse(b);
} catch (ParseException e) {
}

现在我们有了 Date 个对象(实际上是一个 datetime 对象),如果它们的日期相同(忽略时间方面),如何才是最好的比较方法?

朴素的伪代码:

if "08/01/2015" == "08/01/2015":
   print True

我不介意使用日历,但请不要使用 Joda。

怎么样

if (a.equals(b)) {
  System.out.println("True");
}

试试这个:

    Calendar ca = Calendar.getInstance();
    ca.setTime(a);
    ca.set(Calendar.HOUR_OF_DAY, 0);
    ca.set(Calendar.MINUTE, 0);
    ca.set(Calendar.SECOND, 0);
    ca.set(Calendar.MILLISECOND, 0);
    Calendar cb = Calendar.getInstance();
    cb.setTime(b);
    cb.set(Calendar.HOUR_OF_DAY, 0);
    cb.set(Calendar.MINUTE, 0);
    cb.set(Calendar.SECOND, 0);
    cb.set(Calendar.MILLISECOND, 0);

    if (cb.compareTo(ca) ==0 ){
       print True
    }