package com.levelup.java.date;
import static org.junit.Assert.assertTrue;
import java.time.LocalDate;
import java.time.Month;
import java.util.Calendar;
import org.apache.commons.lang3.time.DateUtils;
import org.joda.time.DateTime;
import org.joda.time.chrono.GregorianChronology;
import org.junit.Test;
/**
* This java example will demonstrate how to compare two dates
*
* @author Justin Musgrove
* @see <a
* href='http://www.leveluplunch.com/java/examples/compare-dates/'>Compare
* dates</a>
*
*/
public class CompareTwoDates {
@Test
public void compare_two_dates_java() {
Calendar sinceGraduation = Calendar.getInstance();
sinceGraduation.set(Calendar.YEAR, 1984);
sinceGraduation.set(Calendar.MONTH, 6);
sinceGraduation.set(Calendar.DAY_OF_MONTH, 4);
Calendar today = Calendar.getInstance();
assertTrue(today.after(sinceGraduation));
}
@Test
public void compare_two_dates_java8() {
LocalDate sinceGraduation = LocalDate.of(1984, Month.JUNE, 4);
LocalDate today = LocalDate.now();
assertTrue(today.isAfter(sinceGraduation));
}
@Test
public void compare_two_dates_with_joda() {
DateTime sinceGraduation = new DateTime(1984, 6, 4, 0, 0,
GregorianChronology.getInstance());
DateTime today = new DateTime(); // current date
assertTrue(today.isAfter(sinceGraduation));
}
@Test
public void compare_two_Dates_apachecommons() {
Calendar sinceGraduation = Calendar.getInstance();
sinceGraduation.set(Calendar.YEAR, 1984);
sinceGraduation.set(Calendar.MONTH, 6);
sinceGraduation.set(Calendar.DAY_OF_MONTH, 4);
Calendar today = Calendar.getInstance();
int val = DateUtils.truncatedCompareTo(sinceGraduation, today,
Calendar.MINUTE);
assertTrue(val <= 0);
}
}