For some reason this is outputting a numerical value of around 16348. When the first and last dates value are 0110 and 0201 respectively. How come I am not getting a day value?
import java.util.Scanner;
import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Project3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String firstDate = input.next(), lastDate = input.next();
try {
Date date1 = new SimpleDateFormat("MMdd").parse(firstDate);
Date date2 = new SimpleDateFormat("MMdd").parse(lastDate);
System.out.println(Project3.days(date1, date2));
} catch (Exception e) {
//
}
}
public static long days(Date startDate, Date endDate) {
Calendar start = Calendar.getInstance();
start.setTime(startDate);
Calendar end = Calendar.getInstance();
long daysBetween = 0;
while(start.before(end)) {
start.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
return daysBetween;
}
}