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 |