★ 날짜 및 시각 정보를 관리하는 클래스
- 객체 생성이 불가능한 추상클래스
=> Calendar.getInstance() 메서드를 호출하여 기존의 인스턴스 리턴받아 사용
★ get() 메서드로 시각 및 날짜 정보를 가져오고, set() 메서드로 설정
=> 주의! 파라미터에 날짜 및 시각 항목을 int형으로 지정해야하는데
이 때,Calendar.XXX 형태의 상수를 사용하여 정보의 종류를 지정
- get() 또는 set() 메서드 사용 시 월(MONTH)에 대한 정보에 접근할 때
0 ~ 11 월까지로 사용되므로 주의! (가져올 때 + 1, 설정할 때 - 1 값 사용)
기존에 생성되어 있는 인스턴스 가져오기!!!!!!
Calendar cal = Calendar.getInstance();
년, 월, 초
월정보 가져와서 +1해야한다!!!!!!!!!!!!!!!!
[예시]
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1; 월 정보 가져와서 + 1 필수!
int day = cal.get(Calendar.DAY_OF_MONTH);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); 요일
String strDayOfWeek = "";
기존에 생성되어 있는 인스턴스 가져오기!!!!!!
Calendar cal = Calendar.getInstance();
int hour=cal.get(Calendar.HOUR);
int min=cal.get(Calendar.MINUTE);
int sec=cal.get(CalendarSECOND);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); // 요일
String strDayOfWeek = "";
switch (dayOfWeek) {
case Calendar.MONDAY:
strDayOfWeek = "월요일";
break;
case Calendar.TUESDAY:
strDayOfWeek = "화요일";
break;
case Calendar.WEDNESDAY:
strDayOfWeek = "수요일";
break;
case Calendar.THURSDAY:
strDayOfWeek = "목요일";
break;
case Calendar.FRIDAY:
strDayOfWeek = "금요일";
break;
case Calendar.SATURDAY:
strDayOfWeek = "토요일";
break;
case Calendar.SUNDAY:
strDayOfWeek = "일요일";
}
System.out.println(year + "년 " + month + "월 " + day + "일 " + strDayOfWeek);
오전/오후
int ampm = cal.get(Calendar.AM_PM); => 오전/오후
String strAmpm = (ampm == Calendar.AM) ? "오전" : "오후";
System.out.println(strAmpm + " " + hour + "시 " + min + "분 " + sec + "초");
※int hour = cal.get(Calendar.HOUR_OF_DAY); // 24시간제
※ add와 roll차이점
둘다 더하거나 빼지만
ad는 연산결과가 다른 필드에 영향을 주지만
roll은 영향을 주지 않는다
날짜 및 시각 관련 정보를 제공하는 클래스들의 모음
LocalDate 클래스: 날짜를 처리하는 클래스
LocalTime 클래스: 시각를 처리하는 클래스
LocalDateTime 클래스: 날짜 및 시각을 처리하는 클래스
대부분의 메서드가 동일함
** 객체에 현재 정보를 가져오는 메서드=LocalDate.now()**
** 객체에 특정정보를 설정하는 메서드=LocalDate.of()**
연산을 위해 제공하는 메서드 : plusXXXs(), minusXXXs(), withXXX()
여기서 xxx는 항목이름이다 (ex. 시 : Hour, 월 : Month 등)
LocalDate date = LocalDate.now(); 현재 날짜 정보 가져오기
System.out.println("오늘 날짜 : " + date);
LocalDate date2 = LocalDate.of(2000, 1, 1); 설정된 날짜 정보가져오기
System.out.println("설정된 날짜 : " + date2);
LocalTime time = LocalTime.now(); 현재 시각 정보 가져오기
System.out.println("현재 시각 : " + time);
LocalTime time2 = LocalTime.of(12, 1, 5); 설정된 시각 정보 가져오기
System.out.println("설정된 시각 : " + time2);
LocalDateTime now = LocalDateTime.now();
System.out.println("지금은 " + now);
객체 내의 각 정보 가져오기 = getXXX()
int year = date.getYear();
int month = date.getMonthValue(); // getMonth() 메서드는 리턴타입이 Month
int day = date.getDayOfMonth();
DayOfWeek dayOfWeek = date.getDayOfWeek();
System.out.println(year + "년 " + month + "월 " + day + "일 " + dayOfWeek);
int hour = time.getHour();
int min = time.getMinute();
int sec = time.getSecond();
System.out.println(hour + "시 " + min + "분 " + sec + "초 ");
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[자바] 패키지 종류(유틸리티, 입출력, 유저인터페이스GUI패키지)_Date,Random,Math (0) | 2020.08.18 |
---|---|
[java]util.Date 클래스(자바의 시각과 날짜를 담는 클래스) (0) | 2020.08.16 |
[java] 자바_Math클래스 쉽게 정리( 수학 관련 처리 클래스)/반올림/소수점버리기/PI/ import/pow/random (0) | 2020.08.14 |
[자바] 반복for문 으로 타이머(XX분 XX초) 시간 구하기/ 향상된for문 (0) | 2020.08.13 |
[자바]_java Integer 클래스,Character 클래스/메소드 정리/다양한 형변환 int to char/parseInt/ (0) | 2020.08.12 |