안녕하세요 :)
JAVA 개발자가 실무에 뛰어들어서 한번쯤은 쓰게 되는 (오늘 날짜 정보 구하기, 오늘이 몇요일 인지 구하기, 오늘이 올해의 몇주차인지 구하기, 금요일을 기준으로 최근 4주차 구하기, 최근 6개월 말일 정보 표시하기) 정보를 공유 해보겠습니다.
- 오늘 날짜 정보 구하기
Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String todayStr = sdf.format(today);
- 오늘이 몇요일 인지 구하기
String[] week = {"일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"}
Calendar cal = Calendar.getInstance();
// 위에서 구한 날짜 정보를 넣어줌
cal.setTime(today);
int num = cal.get(Calendar.DAY_OF_WEEK)-1;
String today = week[num];
- 오늘이 올해의 몇주차인지 구하기
Calendar cal = Calendar.getInstance();
cal.setTime(today);
String weekIf = cal.get(Calendar.WEEK_OF_YEAR);
System.out.println(weekIf + "주차 입니다.");
- 금요일 기준으로 최근 4주차 구하기 (토요일부터 요번주 주차 인정)
int dayNum = cal.get(Calendar.DAY_OF_WEEK);
// 토요일
if(dayNum == 7) {
// 오늘날짜의 주간의 금요일
cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
} else {
// 오늘 날짜 - 한개 주 (한주가 일요일부터 시작하기에 일요일도 포함)
cal.add(Calendar.WEEK_OF_YEAR, -1);
// 날짜가 있는 주간의 금요일
cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
}
int weekNum = cal.get(Calendar.WEEK_OF_YEAR);
for(int i = 0 ; i < 4 ; i++) {
cal.add(Calendar.WEEK_OF_YEAR, -i);
cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
System.out.println(sdf.format(weekNum +"주차");
// 그 주차의 날짜
System.out.println(sdf.format(cal.getTime()));
}
- 최근 6개월 말일 정보 표시하기
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Cal.add(Calendar.MONTH, -5);
int month = 0;
for(int i = 0; i <= 5; ++i) {
// 마지막일로 설정
preCal.set(Calendar.DATE, preCal.getActualMaximum(Calendar.DAY_OF_MONTH));
month = preCal.get(Calendar.MONTH) + 1;
// 해당월의 마지막 날 출력 yyyy-MM-dd형식
System.out.println("yyyy-MM-dd : " + sdf.format(preCal.getTime()));
// 현재달 7월 - 7월, 6월, 5월, 4월, 3월, 2월 출력
System.out.println(String.format("%02d", month)+ "월");
preCal.add(Calendar.MONTH, +1);
month = preCal.get(Calendar.MONTH);
}
'우당탕탕 개발생활 > _Java' 카테고리의 다른 글
Data truncated for column 오류 해결 (0) | 2023.08.29 |
---|---|
[JAVA 기초] 연산자와 제어문 알아보기 (0) | 2020.07.05 |
[JAVA 기초] 클래스 구성, 멤버 필드, 멤버 메서드, 멤버 변수, 메인메서드, 명령행 매개변수 알아보기 (0) | 2020.07.04 |
[JAVA 기초]자바(java) 형변환 방법, 주석문 알아보고 아스키코드, 문자 리터럴 의미 알아보기 (0) | 2020.07.03 |
[JAVA 기초]자바(java) 상수, 변수, 메서드, 예약어, 자료형 알아보기 (0) | 2020.07.02 |