import java.util.Calendar;
import java.util.Scanner;

public class Ex06_Calendar {

	public static void main(String[] args) {
		// 날짜를 입력받아 요일을 출력하기
		// 날짜 ? 2021-07-20
		// 2021-07-20은 일요일입니다.
		// 입력받은 날짜 형식이 yyyy-mm-dd형식이 아니면 재입력
		Scanner sc = new Scanner(System.in);
		String input;
		
		do {
			System.out.print("날짜[yyyy-mm-dd] ? ");
			input = sc.next();
		} while(! input.matches("^(\\d{4}-\\d{2}-\\d{2})$"));
		// ^는 첫번째 $는 마지막. 4개숫자-2개숫자-2개숫자 형식으로
		String [] ss = input.split("-"); // StringTokenizer 대신 split을 사용하면 더 쉽다!
		int y = Integer.parseInt(ss[0]);
		int m = Integer.parseInt(ss[1]);
		int d = Integer.parseInt(ss[2]);
		String week;
		
		Calendar cal = Calendar.getInstance();
		cal.set(y, m-1, d);
		System.out.printf("%tF는 %tA 입니다.\n", cal, cal);
		
		y = cal.get(Calendar.YEAR);
		m = cal.get(Calendar.MONTH)+1;
		d = cal.get(Calendar.DATE);
		week = String.format("%tA", cal);
		System.out.printf("%04d-%02d-%02d는 %s입니다.\n", y, m, d ,week);
		// 남는 자리수는 0으로 채워줌
		
		String[] ww=new String[] {"일","월","화","수","목","금","토"};
		week = ww[cal.get(Calendar.DAY_OF_WEEK)-1];
		System.out.println("요일은"+week+"요일 입니다.");
		System.out.println("-------------------------");
		
		sc.close();
	}

}

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0720_Ex15_Math : Java API  (0) 2021.07.21
0720_Ex12_Date : Java API  (0) 2021.07.21
0720_Ex05_Calendar : Java API  (0) 2021.07.20
0720_Ex04_StringTokenizer : Java API  (0) 2021.07.20
0720_Ex03_StringBuilder : Java API  (0) 2021.07.20

+ Recent posts