상세 컨텐츠

본문 제목

[자바]Calendar클래스/ Time 패키지(달력,시간) _ 자바 쉽게 정리/특정날짜,현재시간 출력/add,set,get

java_자바

by 쫑메이 2020. 8. 15. 00:20

본문

 

 

 

 

 

 

 


 

 

 

 

 


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 + "초 ");

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

아직 부족한게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 


 

 

반응형

관련글 더보기