Calendar 클래스 (날짜)
1
|
Calendar cal=Calendar.getInstance();// Calendar 클래스 선언
|
cs |
함수
cal.get() | 반환 |
cal.set() | 지정 |
Calendar.YEAR, MONTH, DATE | 해당 년도 , 해당 월(0~11) , 해당 일 |
Calendar.AM_PM | 오전/오후 반환 , AM: 0 |
Calendar.DAY_OF_WEEK | 요일 반환 , 일(1) ~ 토(7) |
cal.getActualMaximum | 가장 큰 값 반환 |
SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yy년 mm월 dd일 ");
날짜와 시간의 포맷 지정을 처리하는 객체
Y | M | d | D | E | a |
연도 | 월 | 일 | 1~365 | 월~일 | 오전/오후 |
SimpleDateFormat 메서드
sdf.format(Date d) | 포멧에 Date 객체를 삽입 |
sdf.format(c.getTime()) | 포멧에 캘린더 시간 사입 |
소스코드
// 해당 날짜 반환
int year =cal.get(Calendar.YEAR); // 해당 년도 return
int month = cal.get(Calendar.MONTH)+1; // 0~ 11 해당 월 return
int day = cal.get(Calendar.DATE); //해당 일 return
//int hour = cal.get(Calendar.HOUR);
//int min= cal.get(Calendar.SECOND);
System.out.printf("현재는 %d년 %d월 %d일 입니다.\n",year,month,day);
// 지정 날짜 지정
cal.set(Calendar.YEAR,2023); // 년도 지정
cal.set(Calendar.MONTH,1-1); // 월 지정
cal.set(Calendar.DATE,1); // 일 지정
year =cal.get(Calendar.YEAR);
month = cal.get(Calendar.MONTH)+1;
day = cal.get(Calendar.DATE);
System.out.printf("현재는 %d년 %d월 %d일 입니다.\n",year,month,day);
// 오전 오후 반환
String ampm=cal.get(Calendar.AM_PM)== 0 ? "오전" : "오후"; // am : 0
System.out.println(ampm);
// 요일 반환
int weekend = cal.get(Calendar.DAY_OF_WEEK); // 일(1) ~ 토(7)
System.out.println(weekend); // 2023년 1월 1일 = 일요일 = return 1
// 지정 달에 마지막날 반환
int lastday=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(lastday);
|
cs |
달력 출력 소스코드
// 달력 출력 프로그램
// 날짜 지정
cal.set(Calendar.YEAR, 2023);
cal.set(Calendar.MONTH, 1-1);
cal.set(Calendar.DATE, 1);
// 날짜 반환
year =cal.get(Calendar.YEAR); // 해당 년도 return
month = cal.get(Calendar.MONTH)+1; // 0~ 11 해당 월 return
// 달력 시작일, 마지막 일 지정
int startday=cal.get(Calendar.DAY_OF_WEEK); // 해당 일의 요일 반환
lastday=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
String week_day="일월화수목금토";
System.out.println(year+"년"+month+"월");
for (int i = 0; i < week_day.length(); i++) {
char c=week_day.charAt(i);
System.out.print(c+"\t");
}
System.out.println();
// 위에 빈칸 (시작 요일까지 빈칸 처리)
for (int i = 1; i <startday; i++) {
System.out.print(" "+"\t");
}
// 날짜
for (int i = 1; i <=lastday; i++) {
System.out.print(i+"\t");
if((i+startday-1)%7==0){ // 7간격으로 띄어쓰기
System.out.println();
}
}
|
cs |
'JAVA > 함수 내용 정리' 카테고리의 다른 글
Vector 클래스 (동적 객체 배열) (0) | 2022.12.29 |
---|---|
File 클래스 (파일입출력) (0) | 2022.12.26 |
GUI 메서드 (0) | 2021.11.06 |
String 클래스 (0) | 2021.10.29 |
Wrapper 클래스 (0) | 2021.10.29 |