2012-04-27 14 views
3

Java(Android)(Date1とDate2)で2つの日付がある場合、Date2がDate1の同じ日​​の範囲内にあるかどうかをどのように知ることができますか? (注:Date2-Date1の場合は、<24時間)。 (同じ月と年suppousing)いくつかの例日付が他の日付の同じ日にあるかどうかを確認する方法

Date1: day=14 hour=00:00   Date2: day=14 hour=00:00 --> Result TRUE 
Date1: day=13 hour=23:59   Date2: day=14 hour=00:00 --> Result FALSE 
Date1: day=14 hour=05:00   Date2: day=14 hour=00:00 --> Result TRUE 
Date1: day=14 hour=00:00   Date2: day=15 hour=00:00 --> Result FALSE 

おかげ

+0

2番目の例もtrueを返してはいけませんか? – Jared

+0

私は 'Date2:day = 15 ... 'を想定しています。 – Sam

+0

はい、エラー、感謝でした – Addev

答えて

10

からこれをコピーしましたか?

あなたは直接isSameDay

if (DateUtils.isSameDay(date1, date2)) { 
    System.out.println("Same Date"); 
} else if (date1.before(date2)) { 
    System.out.println("date1 before date2"); 
} else { 
    System.out.println("date1 after date2"); 
} 

チェックApache DateUtilsのようなメソッドを呼び出すことができます。

+0

このソリューションはタイムゾーンを尊重していません – martyglaubitz

4

私はあなたがDateUtilsを使用していないのはなぜJava: comparing two Dates to see if they are in the same day

Calendar cal1 = Calendar.getInstance(); 
Calendar cal2 = Calendar.getInstance(); 
cal1.setTime(date1); 
cal2.setTime(date2); 
boolean sameDay = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && 
        cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR); 
関連する問題