(Q) 오늘 사귄 커플의 100일 기념일이 몇일인지 계산하여 출력
메인 메소드
package day16_api.util.calendar;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test03 {
public static void main(String[] args) {
// Calendar의 현재 시간에 대한 인스턴스 생성
Calendar calendar = Calendar.getInstance();
// 표기 형식 설정
Format f = new SimpleDateFormat("yyyy년 M월 dd일");
// 현재 날짜 (확인용)
Date now = calendar.getTime();
System.out.println("현재 날짜 : " + f.format(now));
// 현재 시간보다 100일 뒤를 세팅
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DATE);
calendar.set(year, month, day + 99); // 오늘부터 100일 뒤면 오늘을 1일로 치고 계산한다
// 100일 후 날짜
Date setTime = calendar.getTime();
System.out.println(f.format("100일 후 : " + setTime));
}
}
- Calendar 자체를 출력하면 원하는 표기 형식의 시간을 얻을 수 없다
1) Date로 변환 후 SimpleDateFormat으로 형식을 바꿔 출력
2) Calendar의 .get(int field) 메소드로 개별 항목을 반환한 후 형식에 맞춰 출력
- Calendar에서 해당 달(month)의 date값이 초과되면 자동으로 다음달로 넘겨서 계산해 준다 (날짜 자동 계산)
- Calendar의 메소드 일부 (여기서 참조변수의 타입은 Calendar이다)
Calendar의 메소드 | 기능 | 반환형 |
참조변수명.get(Calendar.YEAR) | 년도 반환 | int |
참조변수명.get(Calendar.MONTH) | 월 반환 | int |
참조변수명.get(Calendar.DATE) | 일 반환 | int |
참조변수명.getTime() | Calendar 인스턴스를 Date 인스턴스로 반환 | Date |
'국비교육 > 국비교육 복습' 카테고리의 다른 글
day17_api.util.collection_Test04 : ArrayList 생성 (0) | 2022.08.20 |
---|---|
day16_api.util.calendar_Test04 : Calendar 클래스를 이용한 달력 출력 (★) (0) | 2022.08.20 |
day16_api.util.date_Test03 : Date 클래스와 Format 클래스(시간 표기 형식 변경) (0) | 2022.08.20 |
day15_exception_Test05 : 예외 처리 - throw를 사용하지 않고 강제로 예외를 발생시키는 방법 (★) (0) | 2022.08.15 |
day15_regex_Test04 : 정규 표현식 + 윤년 판정 (★★) (0) | 2022.08.15 |