번외;
지정된 날짜 범위를 뽑아내기 해보기
dateClass찾아보기
가계부, 주소록;
========================================================
일 월 화 수 목 금 토
========================================================
* * * * * * 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 * * * * *
import java.util.Calendar;
import java.util.GregorianCalendar;
public class mainClass {
public static void main(String[] args) {
/*
Calendar -> year month day
Date
*/
//일정관리
//Calendar cal = new GregorianCalendar();
Calendar cal = Calendar.getInstance();
//날짜
//getter
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH)+1; //0~11이 기본값이여서 +1, 다시 넣을때는 -1
int day = cal.get(Calendar.DATE);
System.out.println(year + "년"+ month + "월"+ day+"일");
//->2020년6월3일//오늘
//setter
cal.set(Calendar.YEAR, 2021);
cal.set(Calendar.MONTH, Calendar.JANUARY);
cal.set(Calendar.DATE, 15);
year = cal.get(Calendar.YEAR);
month = cal.get(Calendar.MONTH)+1; //0~11이 기본값이여서 +1, 다시 넣을때는 -1
day = cal.get(Calendar.DATE);
System.out.println(year + "년"+ month + "월"+ day+"일");
//->2021년1월15일
//요일
int weekday = cal.get(Calendar.DAY_OF_WEEK);//1~7까지(일~토)
System.out.println(weekday);
//->6
switch (weekday) {
case 6:
System.out.println("금요일입니다");
break;
}
cal.set(Calendar.YEAR, 2020);
cal.set(Calendar.MONTH, 6 - 1);//10월 15일, (15일은 고정)월은 여기서 수정
//지정한 달의 마지막 날짜 28 29 30 31
int lastday = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("lastday = "+ lastday);
//->lastday = 30
//위의 빈칸
cal.set(Calendar.DATE, 1);//1일로 셋팅
weekday = cal.get(Calendar.DAY_OF_WEEK);//1~7
int up = (weekday - 1) % 7; //위의 빈칸 개수
System.out.println("윗쪽 빈칸의 수 : "+up);
//->윗쪽 빈칸의 수 : 1
lastday = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("그 달의 마지막 날 : "+lastday);
//->그 달의 마지막 날 : 30
//밑의 빈칸수
cal.set(Calendar.DATE,lastday);
weekday = cal.get(Calendar.DAY_OF_WEEK);
int down = 7 - weekday;
System.out.println("밑쪽의 빈칸의 수 : "+down);
//->밑쪽의 빈칸의 수 : 4
//달력 출력
year = 2021;
month = 5;
cal.set(Calendar.YEAR,year);
cal.set(Calendar.MONTH, month-1);
cal.set(Calendar.DATE, 1);
int _startday = cal.get(Calendar.DAY_OF_WEEK);
int _lastday = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
int _date = 1;
System.out.println(year + "년 "+month + "월");
//->2021년 5월
System.out.println("========================================================");
String week_day = "일월화수목금토";
for (int i = 0; i < week_day.length(); i++) {
char c = week_day.charAt(i);
System.out.print(c+"\t");
}
System.out.println();
System.out.println("========================================================");
//윗쪽 빈칸
for (int i = 1; i < _startday; i++) {
System.out.print("*"+"\t");
}
//날짜
for (int i = 0; i < _lastday; i++) {
System.out.print(_date+"\t");
if ((_date + _startday - 1) % 7 == 0) {
System.out.println();
}
_date++;
}
//밑쪽 빈칸
for (int i = 0; i < (7 - (_startday + _lastday - 1) % 7); i++) {
System.out.print("*"+"\t");
}
System.out.println();
System.out.println("========================================================");
}
//날짜 셋팅, 요일,
}
//->결과
//========================================================
//일 월 화 수 목 금 토
//========================================================
//* * * * * * 1
//2 3 4 5 6 7 8
//9 10 11 12 13 14 15
//16 17 18 19 20 21 22
//23 24 25 26 27 28 29
//30 31 * * * * *
//========================================================
'JAVA > 기초 프로그래밍' 카테고리의 다른 글
야구선수 등록 프로그램(답안) (0) | 2020.06.05 |
---|---|
야구선수 등록 프로그램(Me) (0) | 2020.06.05 |
객체//베팅게임 (0) | 2020.06.02 |
객체//tv프로그램 (0) | 2020.06.02 |
객체//모래게임 (0) | 2020.06.02 |