Java'da tarihler arasında nasıl karşılaştırma yapabilirim?
Örnek:
date1 22-02-2010
tarih2 bugün 07-04-2010
tarih3 25-12-2010
tarih3her zaman
tarih1den büyüktür ve
tarih2` her zaman bugündür. Bugünün tarihinin tarih1 ve tarih 3 arasında olup olmadığını nasıl doğrulayabilirim?
Tarih, önce ve sonra yöntemlerine sahiptir ve aşağıdaki gibi birbirleriyle karşılaştırılabilir:
if(todayDate.after(historyDate) && todayDate.before(futureDate)) {
// In between
}
Kapsayıcı bir karşılaştırma için:
if(!historyDate.after(todayDate) && !futureDate.before(todayDate)) {
/* historyDate <= todayDate <= futureDate */
}
Ayrıca Joda-Time'ı da deneyebilirsiniz, ancak şunu unutmayın:
Joda-Time, Java SE 8'den önce Java için de facto standart tarih ve saat kütüphanesidir. Kullanıcılardan artık java.time (JSR-310)'a geçmeleri istenmektedir.
Java 6 ve 7'nin yanı sıra Android için de arka portlar mevcuttur.
İki tarihi karşılaştırın:
Date today = new Date();
Date myDate = new Date(today.getYear(),today.getMonth()-1,today.getDay());
System.out.println("My Date is"+myDate);
System.out.println("Today Date is"+today);
if (today.compareTo(myDate)<0)
System.out.println("Today Date is Lesser than my Date");
else if (today.compareTo(myDate)>0)
System.out.println("Today Date is Greater than my date");
else
System.out.println("Both Dates are equal");