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
반응형
'자바' 카테고리의 다른 글
자바fx 패스워드를 입력받고 기존창을 닫으면서 새로운 창을열때 [김철수홍길동] (0) | 2021.01.30 |
---|---|
자바 자바fx 로그인화면 , 패스워드화면 , 초기처리화면 , 새창띄우기 , 화면자동닫기 [김철수홍길동] (0) | 2021.01.29 |
자바 현재의 주차,일자 구하기 [김철수홍길동] (0) | 2021.01.23 |
자바 자바fx 파일저장 FileChooser , 디렉토리선택 DirectoryChooser , [북붙따라하기] (0) | 2021.01.11 |
자바 자바fx 에어리어챠트 AreaChart [북붙따라하기] (0) | 2021.01.10 |
댓글