10-4~5 Calendar 예제(1)

oyeon·2020년 12월 23일
0

Java 개념

목록 보기
19/70
  • set()으로 날짜와 시간지정
void set(int field, int value)
void set(int year, int month, int date)
void set(int year, int month, int date, int hourOfDay, int minute)
void set(int year, int month, int date, int hourOfDay, int minute, int second)
  • 날짜 지정 방법. (※ MONTH는 0부터 시작)
Calendar date1 = Calendar.getInstance();
date1.set(2017, 7, 15); // 2017년 8월 15일(7월 아님)
// 첫 번째 set 메서드 사용해서 아래 세 줄로 지정도 가능
// date1.set(Calendar.YEAR, 2017);
// date1.set(Calendar.MONTH, 7);
// date1.set(Calendar.DATE, 15);
System.out.println("date1은" + toString(date1)
  • 시간 지정 방법.
Calendar time1 = Calendar.getInstance();
// time1을 10시 20분 30초로 설정
time1.set(Calendar.HOUR_OF_DAY, 10);
time1.set(Calendar.MINUTE, 20);
time1.set(Calendar.SECOND, 30);
public static void main(String[] args) {
		// 요일은 1부터 시작하기 때문에, DAY_OF_WEEK[0]은 비워두었다.
		final String[] DAY_OF_WEEK = {"","일","월","화","수","목","금","토"};
		
		Calendar date1 = Calendar.getInstance();
		Calendar date2 = Calendar.getInstance();
		
		// month의 경우 0부터시작하기 때문에 4월인 경우, 3으로 지정
		// date1.set(2019, Calendar.APRIL, 29);와 같이 할 수도 있다.
		date1.set(2019, 3, 29);	// 2019년 4월 29일로 날짜를 설정
		System.out.println("date1은" + toString(date1)
			+ DAY_OF_WEEK[date1.get(Calendar.DAY_OF_WEEK)] + "요일이고,");
		System.out.println("오늘(date2)은" + toString(date2)
			+ DAY_OF_WEEK[date2.get(Calendar.DAY_OF_WEEK)]+"요일입니다.");
		
		// 두 날짜간의 차이를 얻으려면, getTimeInMillis() 
        	// 천분의 일초 단위로 변환해야한다.
		long difference = 
			(date2.getTimeInMillis() - date1.getTimeInMillis())/1000;
		System.out.println("그 날(date1)부터 지금(date2)까지"
						+ difference + "초가 지났습니다.");
		System.out.println("일(day)로 계산하면"
        				+difference/(24*60*60)+"일입니다.");		
	}

	public static String toString(Calendar date) {
		return date.get(Calendar.YEAR)+"년"+(date.get(Calendar.MONTH) + 1)
				+ "월" + date.get(Calendar.DATE) + "일";
	}

profile
Enjoy to study

0개의 댓글