Scanner sc = new Scanner(System.in);
Calendar dday=Calendar.getInstance();
Calendar today = Calendar.getInstance();
while(true) {
System.out.println("종규가만든 디데이계산기");
System.out.print("D-Day [년도] 입력 : ");
int year=sc.nextInt();
System.out.print("D-Day [월] 입력 : ");
int month=sc.nextInt();
System.out.print("D-Day [일] 입력 : ");
int day=sc.nextInt();
dday.set(year,month-1,day);
System.out.println("=================================================================");
System.out.print("오늘날짜 : "+today.get(Calendar.YEAR)+"-"+(today.get(Calendar.MONDAY)+1)+"-"+today.get(Calendar.DATE)+"일\n");
System.out.println("==================================================================");
System.out.print("디데이날짜 : "+dday.get(Calendar.YEAR)+"-"+(dday.get(Calendar.MONDAY)+1)+"-"+dday.get(Calendar.DATE)+"일\n");
//System.out.println(dday.getTimeInMillis());
//System.out.println(today.getTimeInMillis());
System.out.println("====================================================================");
long dday1=dday.getTimeInMillis() / (24*60*60*1000);
//천분의 1초 단위이기 때문에 24시간 * 60분 * 60초 * 1000 한 값(하루의 밀리세컨 값)으로 나눠서 일단위 값을 리턴 받는다.
long today1=today.getTimeInMillis() / (24*60*60*1000);
//천분의 1초 단위이기 때문에 24시간 * 60분 * 60초 * 1000 한 값(하루의 밀리세컨 값)으로 나눠서 일단위 값을 리턴 받는다.
long diff=today1-dday1;
Calendar today11 = Calendar.getInstance();
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
if(diff>0) {
System.out.println(diff+"일 지났습니다.");
today11.add(Calendar.DAY_OF_MONTH,-(int)diff);
System.out.println("나온값만큼 빼면 : "+f.format(today11.getTime()));//기존시간에서 한번 몇일 나온값만큼 더해보았다.
}
else if(diff==0) {
System.out.println("날짜가 같습니다.");
System.out.println("같다면 더하거나뺀날짜는 : "+f.format(today11.getTime()));//기존시간에서 몇일나온값이 0이여서 냅뒀다.
}
else {
diff=Math.abs(diff);
System.out.println(diff+"일 남았습니다.");
today11.add(Calendar.DAY_OF_MONTH,(int)diff);
System.out.println("나온값만큼 더하면 : "+f.format(today11.getTime()));//기존시간에서 한번 몇일 나온값만큼 빼보았다.
}
}