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
}
我们用 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
}