java
JAVA - Calender 달력 매서드 정리
자바에는 달력을 구현할 수 있도록 다양한 매서드를 제공합니다. 기본적인 작성은 다음과 같습니다.
// ex.1)
import java.util.Calendar;
public class Ex01 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
// 현재 일
System.out.println(cal.get(Calendar.DATE) + "일");
// 현재 월
// 바로 출력하려면 + 1를 해줍니다. 월은 0 부터 시작
System.out.println((cal.get(Calendar.MONTH) + 1) + "월" );
// 올해 년도
System.out.println(cal.get(Calendar.YEAR) + "년");
// 현재 시간
System.out.println(cal.get(Calendar.HOUR_OF_DAY) + "시");
// 현재 분
System.out.println(cal.get(Calendar.MINUTE) + "분");
// 현재 초
System.out.println(cal.get(Calendar.SECOND) + "초");
// 1월 1일 부터 오늘까지 흐른 일 수
System.out.println(cal.get(Calendar.DAY_OF_YEAR) + "일이 흘렀습니다.");
// 현재 월의 마지막 날짜
// 2018년 4월 마지막 날은 30일입니다.
System.out.println(cal.getActualMaximum(Calendar.DATE));
// 월의 시작 요일
// 2018년 4월 시작 요일은 일요일입니다.
// 일 월 화 수 목 금 토 순으로
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
}
}
아래는 결과 화면입니다.
다음은 원하는 년월일로 변경하는 예제입니다.
// ex.2)
import java.util.Calendar;
public class Ex01 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(2018, 5, 22);
// 일
System.out.println(cal.get(Calendar.DATE) + "일");
// 월
System.out.println(cal.get(Calendar.MONTH) + "월" );
// 년
System.out.println(cal.get(Calendar.YEAR) + "년");
}
}
// ex.3)
import java.util.Calendar;
public class Ex01 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
// 2011년 11월 25일 12시 42분 35초로 셋팅합니다.
cal.set(Calendar.YEAR, 2011);
cal.set(Calendar.MONTH, 11);
cal.set(Calendar.DATE, 25);
cal.set(Calendar.HOUR_OF_DAY, 12);
cal.set(Calendar.MINUTE, 42);
cal.set(Calendar.SECOND, 35);
// 일
System.out.println(cal.get(Calendar.DATE) + "일");
// 월
System.out.println(cal.get(Calendar.MONTH) + "월" );
// 년
System.out.println(cal.get(Calendar.YEAR) + "년");
}
}
이제 달력을 만들어 보겠습니다.
// ex.4)
import java.util.Calendar;
public class Ex01 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
// 2018년 05월 22일의 달력을 출력합니다.
cal.set(2018,04,22);
// 일
System.out.print(cal.get(Calendar.DATE) + "일 ");
// 월
System.out.print((cal.get(Calendar.MONTH)+1) + "월 " );
// 년
System.out.println(cal.get(Calendar.YEAR) + "년");
System.out.println("일\t월\t화\t수\t목\t금\t토");
int cnt = 0;
int start_day = cal.get(Calendar.DAY_OF_WEEK);
int last_day = cal.getActualMaximum(Calendar.DATE);
for (int i = 1; i < start_day; i++) {
System.out.print("\t");
cnt++;
}
for (int i = 1; i <= last_day; i++) {
if(cnt % 7 == 0)
{
System.out.println();
}
cnt++;
System.out.print(i + "\t");
}
}
}
아래는 결과 화면입니다.
다음은 또다른 방법으로 날짜를 셋팅하는 방법입니다.
// ex.5)
import java.util.Calendar;
public class Ex01 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
// 오늘은 2018년 4월 22일 입니다.
cal.add(Calendar.DATE, 5);
System.out.println("5일 후의 날짜는 " + cal.get(Calendar.DATE));
cal.add(Calendar.MONTH, 2);
System.out.println("2개월 후의 날짜는 " + (cal.get(Calendar.MONTH)+1));
cal.add(Calendar.MONTH, -3);
System.out.println("3개월 전의 날짜는 " + (cal.get(Calendar.MONTH)+1));
}
}
아래는 결과 화면입니다.
0 댓글