본문 바로가기
자바

자바 특정일의 주차,일자 구하기 [김철수홍길동]

by 세상 모든 것 들은 그 자신을 위해 존재한다. 2021. 1. 23.

 

date = new Date(date.getTime() + (1000 * 60 * 60 * 24 - 1)); 

사용 예제 ) 코드를 복붙 하여 실행해 보시기 바랍니다.

설명은 주석과 코드 아랫부분에 있습니다.

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;

public class TestMain {

	public static void main(String[] args) {
		
		
		//--------------특정일의 요일을 돌려주는 함수 ----------
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
			Date date = null;
			
			// 특정 날짜 입력하는곳 . 함수로 사용시 인자로 받으면 됩니다.
			String strDate = "2021-05-25";
			
			
			try {	//정한 형식으로 사용합니다.
				date = formatter.parse(strDate);
			} catch (ParseException e) {
			}
			
			//보시면 알겠지만 초,분,시간,일 을 적용하고 맨뒤의 값은 임의로 조정이 가능합니다.
			//결과를 보고 조정 하면 되겠습니다. 
			//하지만 이대로 사용하시면 됩니다.
			date = new Date(date.getTime() + (1000 * 60 * 60 * 24 - 1)); 
			Calendar cal = Calendar.getInstance();
			cal.setTime(date);
			
			//각각의 원하는 데이터를 얻어 옵니다.
			int weekNum = cal.get(Calendar.WEEK_OF_YEAR); // 해당년의 주차 구해옵니다.
			int dayNum = cal.get(Calendar.DAY_OF_WEEK); // 요일을 구해옵니다.
			
			//출력해서 결과를 알아 봅니다.
			System.out.println("해당년의 주차 weekNum : "+weekNum);		
			System.out.println("요일dayNum : "+dayNum);		
		

}
}
//출력결과 :

//해당년의 주차 weekNum : 5
//요일dayNum : 2




자주 사용하지는 않지만 유용하게 사용됩니다.

막상 필요할 때는 생각하기가 귀찮아집니다.

정형화된 구문이라 그대로 사용하시면 됩니다.

아래는 실전 예제입니다.
특정일에 저장된 로그 중에 필요한 부분을 
다시 불러내어 그 부분만 저장할 때 사용하면 유용합니다.

 

특정 날짜로 된 문자열을 인수로 주면 그때의 요일이나 주차를 

정수형으로 돌려줍니다.

인자로 주는 요일의 형식은

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

여기서 정한 형식대로 "2021-05-05" 이런 식으로 주면 됩니다.

형식을 바꾸려면 SimpleDateFormat 형식도 같이 바꾸어 주면 됩니다.

 

 

특정 요일과 일을 돌려주는 함수로 만들어서 필요할 때 

사용하시면 됩니다.


복붙 하셔서 사용해 보시기 바랍니다.

//--------------특정일의 요일을 돌려주는 함수 ----------
	public int returnWeek(String strDate) {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		try {
			date = formatter.parse(strDate);
		} catch (ParseException e) {
		}
		// 날짜 입력하는곳 .
		date = new Date(date.getTime() + (1000 * 60 * 60 * 24 - 1)); 
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		int weekNum = cal.get(Calendar.WEEK_OF_YEAR); // 주차 구해온다.
		return weekNum;
	}

	// --------------특정일의 일을 돌려주는 함수 ----------
	public int returnDay(String strDate) {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		try {
			date = formatter.parse(strDate);
		} catch (ParseException e) {
		}

		// 날짜 입력하는곳 .
		date = new Date(date.getTime() + (1000 * 60 * 60 * 24 - 1)); /
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		int dayNum = cal.get(Calendar.DAY_OF_WEEK); // 요일을 구해온다.
		return dayNum;
	}

 

 

세상모든것들은 그자신을 위해 존재한다.

 

728x90
반응형

댓글