Calendar cal = Calendar.getInstance(); // 취득 오늘날짜 int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; // 0 ~ 11 int day = cal.get(Calendar.DATE); System.out.println(year + "년 " + month + "월 " + day + "일"); /* cal.set(Calendar.YEAR, 2019); cal.set(Calendar.MONTH, Calendar.JANUARY); cal.set(Calendar.DATE, 15); year = cal.get(Calendar.YEAR); month = cal.get(Calendar.MONTH) + 1; // 0 ~ 11 day = cal.get(Calendar.DATE); System.out.println(year + "년 " + month + "월 " + day + "일"); */ String ampm = cal.get(Calendar.AM_PM)==0?"오전":"오후"; //0이면 오전 1이면 오후 System.out.println("ampm = " + ampm); // 요일 int weekday = cal.get(Calendar.DAY_OF_WEEK); //1 ~ 7 일월화수목금토 System.out.println("weekday = " + weekday); // 지정한 날의 마지막 날짜 취득 28 29 30 31 cal.set(Calendar.MONTH, 4 - 1); int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("lastDay = " + lastDay); // 연월일을 설정하면, 달력의 빈칸이 몇개 있는지 취득 year = 2019; month = 7; day = 1; cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month-1); cal.set(Calendar.DATE, day); weekday = cal.get(Calendar.DAY_OF_WEEK); //요일 // 위쪽 빈칸 수 int upEmpty = (weekday - 1) % 7; System.out.println("위쪽의 빈칸은 " + upEmpty+"입니다"); // 마지막 일자 lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println("lastDay = " + lastDay); // 밑쪽 빈칸을 구하기 위해서 day = lastDay; cal.set(Calendar.DATE, day); // 요일을 다시 구한다 weekday = cal.get(Calendar.DAY_OF_WEEK); // 밑쪽 빈칸 수 int downEmpty = 7 - weekday; System.out.println("밑쪽의 빈칸은 " + downEmpty + "입니다");
Calendar 클래스는 추상클래스라서
Calendar cal = new Calendar(); 이런식으로 사용 불가능함.
Calendar cal = new GregorianCalendar();
혹은, 위에 기술한 방법대로 사용을 한다.
별다른 설정없이 생성을 하면 본인 컴퓨터기준의 현재 시간정보가 저장되는듯 하다.
월은 0~11까지 사용 , 즉 +1 해줘야함.
'Programming > Java' 카테고리의 다른 글
자바의정석2판 List관련 예제 11-6 (0) | 2019.01.17 |
---|---|
Vector 공부하던중 ArrayIndexOutOfBoundsException 에 대하여. (0) | 2019.01.16 |
Integer를 이용한 진법바꾸기로 간단한 예제 만들기 (0) | 2018.12.31 |
Integer를 이용하여 진법변환하기 (0) | 2018.12.31 |
String class 활용하기 (0) | 2018.12.31 |