smooth waters run deep

공부내용/JAVA

날짜 차이 구하기 (Calendar)

yeon_11 2020. 11. 15. 15:37

두 날짜 차이 구하기

public static void main(String[] args) throws Exception{
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

	try{
		String date1 = br.readLine();
		String date2 = br.readLine();

		SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
		Date first = format.parse(date1);
		Date second = format.parse(date2);

		long calDate = Math.abs(second.getTime() - first.getTime());
		long diffDays = calDate / (24*60*60*1000); //24시간 * 60분 * 60초 * 1000밀리초(ms)

		System.out.println("두 날짜 차이 : "+ diffDays + "일");
	}
	catch(Exception e){
		e.printStackTrace();
	}
}

 

 

두 날짜 차이 구하기 - 주말 제외

public static void main(String[] args) throws Exception{
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

	try{
		String date1 = br.readLine();
		String date2 = br.readLine();

		SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
		Date first = format.parse(date1);
		Date second = format.parse(date2);

		Calendar cal1 = Calendar.getInstance();
		cal1.setTime(first);
		Calendar cal2 = Calendar.getInstance();
		cal2.setTime(second);

		int diffDays = 0;
		while(!cal1.after(cal2)){
			int temp = cal1.get(Calendar.DAY_OF_WEEK);
			if(temp!=Calendar.SATURDAY && temp!=Calendar.SUNDAY)
				diffDays++;
			cal1.add(Calendar.DATE, 1);
		}

		System.out.println("주말 제외 차이 : "+ diffDays + "일");
	}
	catch(Exception e){
		e.printStackTrace();
	}
}

 

 

'0000년 00월 00일 0요일' 형태로 출력하기

public static void main(String[] args) throws Exception{
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

	try{
		String str = br.readLine();

		SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
		Date date = format.parse(str);

		Calendar cal = Calendar.getInstance();
		cal.setTime(date);

		String[] week= {"일", "월", "화", "수", "목", "금", "토"};
        
		System.out.print(cal.get(Calendar.YEAR) + "년 ");
		System.out.print(cal.get(Calendar.MONTH)+1 + "월 "); //1월=0
		System.out.print(cal.get(Calendar.DATE) + "일 ");
		System.out.print(week[cal.get(Calendar.DAY_OF_WEEK)-1] + "요일 "); //일요일=1
		
		}
		catch(Exception e){
			e.printStackTrace();
	}
}

'공부내용 > JAVA' 카테고리의 다른 글

십진수 -> 이진수 변환  (0) 2020.12.11
String ⇔ Char Array  (0) 2020.12.11
Comparable interface (객체 정렬)  (0) 2020.12.04