2015-01-08 37 views
0

的,我們分析了ISO格式(UTC)以下的日期時間字符串:的Android,如果同一天出兩個日期時間ISO串

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 

我不介意使用日曆,但沒有喬達請。

回答

0

試試這個:

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 
    } 
+0

沒有更簡單的方法,是吧?我很害怕。謝謝 :) – Diolor

0

如何

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

你千萬不要忽視時間的一部分 – Jens

相關問題