[자바]Calendar클래스/ Time 패키지(달력,시간) _ 자바 쉽게 정리/특정날짜,현재시간 출력/add,set,get
java.util.Calendar (달력,캘린더 출력)_ 클래스
★ 날짜 및 시각 정보를 관리하는 클래스
- 객체 생성이 불가능한 추상클래스
=> Calendar.getInstance() 메서드를 호출하여 기존의 인스턴스 리턴받아 사용
★ get() 메서드로 시각 및 날짜 정보를 가져오고, set() 메서드로 설정
=> 주의! 파라미터에 날짜 및 시각 항목을 int형으로 지정해야하는데
이 때,Calendar.XXX 형태의 상수를 사용하여 정보의 종류를 지정
- get() 또는 set() 메서드 사용 시 월(MONTH)에 대한 정보에 접근할 때
0 ~ 11 월까지로 사용되므로 주의! (가져올 때 + 1, 설정할 때 - 1 값 사용)
[자바]Calendar 클래스_
get(Calendar.year) 년,월 구하기
기존에 생성되어 있는 인스턴스 가져오기!!!!!!
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 클래스_
get(Calendar.hour) 시,분,초 구하기
기존에 생성되어 있는 인스턴스 가져오기!!!!!!
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);
[자바]Calendar 클래스_
get(Calendar.AM_PM)오전/오후
오전/오후
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은 영향을 주지 않는다
java.time (자바 시간 출력)_패키지
LocalDate/LocalTime/LocalDateTime
날짜 및 시각 관련 정보를 제공하는 클래스들의 모음
LocalDate 클래스: 날짜를 처리하는 클래스
LocalTime 클래스: 시각를 처리하는 클래스
LocalDateTime 클래스: 날짜 및 시각을 처리하는 클래스
대부분의 메서드가 동일함
** 객체에 현재 정보를 가져오는 메서드=LocalDate.now()**
** 객체에 특정정보를 설정하는 메서드=LocalDate.of()**
연산을 위해 제공하는 메서드 : plusXXXs(), minusXXXs(), withXXX()
여기서 xxx는 항목이름이다 (ex. 시 : Hour, 월 : Month 등)
java.time (자바 시간 출력)_
패키지 LocalDate_날짜 정보 구하기
LocalDate date = LocalDate.now(); 현재 날짜 정보 가져오기
System.out.println("오늘 날짜 : " + date);
LocalDate date2 = LocalDate.of(2000, 1, 1); 설정된 날짜 정보가져오기
System.out.println("설정된 날짜 : " + date2);
java.time (자바 시간 출력)_
패키지 LocalTime_ 시각 정보 구하기
LocalTime time = LocalTime.now(); 현재 시각 정보 가져오기
System.out.println("현재 시각 : " + time);
LocalTime time2 = LocalTime.of(12, 1, 5); 설정된 시각 정보 가져오기
System.out.println("설정된 시각 : " + time2);
java.time (자바 시간 출력)_패키지
LocalDateTime
LocalDateTime now = LocalDateTime.now();
System.out.println("지금은 " + now);
java.time (자바 시간 출력)패키지
date.getYear()
객체 내의 각 정보 가져오기 = 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 + "초 ");
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!