Backend/JAVA
[JAVA] Calendar
howdyoon
2023. 3. 21. 00:04
날짜 관련 클래스 (년월일시분초 요일)
- GregorianCalendar
- Calendar
- Date
Calendar는 추상클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다.
Calendar cal = new Calendar(); //에러. 추상클래스는 인스턴스를 생성할 수 없다
//getInstance()메서드는 Calendar클래스를 구현한 클래스의 인스턴스를 반환한다
Calendar cal = Calendar.getInstance();
package oop0317;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test07_Calendar {
public static void main(String[] args) {
//날짜 관련 클래스 (년월일시분초 요일)
//GregorianCalendar
//Calendar
//Date
GregorianCalendar now=new GregorianCalendar();
System.out.println(now.get(1)); //년도 2023
System.out.println(now.get(2)); //월 2
System.out.println(now.get(2)+1); //월 3
System.out.println(now.get(5)); //일 17
//Test01_final.java 참조
System.out.println(now.get(Calendar.YEAR)); //년도 2023
System.out.println(now.get(Calendar.MONTH)); //월 2
System.out.println(now.get(Calendar.MONTH)+1); //월 3
System.out.println(now.get(Calendar.DATE)); //일 17
System.out.println(now.get(Calendar.HOUR)); //5
System.out.println(now.get(Calendar.MINUTE)); //13
System.out.println(now.get(Calendar.SECOND)); //28
//24시간을 기준으로
System.out.println(now.get(Calendar.HOUR_OF_DAY)); //17
//요일(1일 2월 3화 4수 5목 6금 7토)
System.out.println(now.get(Calendar.DAY_OF_WEEK)); //6
////////////////////////////////////////////////////////
//날짜 데이터 구성하기
//1989년 5월 30일
GregorianCalendar myBirth=new GregorianCalendar();
myBirth.set(Calendar.YEAR, 1989);
myBirth.set(Calendar.MONTH, Calendar.MAY);
myBirth.set(Calendar.DATE, 30);
//////////////////////////////////////////////////
//날짜 데이터 연산
//now날짜에 3년 더하기
now.add(Calendar.YEAR, 3);
System.out.println(now.get(Calendar.YEAR));
//now날짜에 5달 빼기
now.add(Calendar.MONTH, -5);
System.out.println(now.get(Calendar.MONTH));
//now날짜에 7일 더하기
now.add(Calendar.DATE, 7);
System.out.println(now.get(Calendar.DATE));
}//main() end
}//class end