본문 바로가기
▶ Back-End/Java

해당 월 말일 산출

by 오늘도 코딩 2021. 4. 23.
728x90
반응형

간단한 함수를 통해 말일을 산출

 

 

▷ Example

 

*개선 2024-11-26 

import java.time.LocalDate;
import java.time.YearMonth;

public class DateUtils {

    /** 해당 월 말일 산출 */
    public static int getLastDay(int year, int month) {
        return YearMonth.of(year, month).lengthOfMonth();
    }

    public static void main(String[] args) {
    
        // 오늘 날짜
        LocalDate today = LocalDate.now();
        int year = today.getYear();
        int month = today.getMonthValue();

        System.out.println("요청 year : " + year);
        System.out.println("요청 month : " + month);

        // 말일 계산
        int lastDay = getLastDay(year, month);
        System.out.println(month + "월의 말일은 : " + lastDay);
    }
}


요청 year : 2023
요청 month : 11
11월의 말일은 : 30

 

*개선 전

/** 해당 월 말일 산출 */
public static Integer getLastDay(Integer year,Integer month) {
	Calendar cal = Calendar.getInstance();
	cal.set(year, month-1,1);
	 
	int lastDay = cal.getActualMaximum(Calendar.DATE);
	 
	return lastDay;
}

/** Example */
public static void testDateFrtLst() {
	
	// 날자 생성
	LocalDate today = LocalDate.now();
	String year = String.valueOf(today.getYear());
	String month = String.format("%02d", today.getMonthValue());
	 
	System.out.println("요청 year : "+ year);
	System.out.println("요청 month : "+ month);

	String lastDay = String.valueOf(getLastDay(Integer.parseInt(year), Integer.parseInt(month)));
	System.out.println( month + "월의 말일은 : "+ lastDay);
}

/* 
   결과 : 
          요청 year : 2021
          요청 month : 04
          04월의 말일은 : 30

*/

 

 

728x90
728x90

'▶ Back-End > Java' 카테고리의 다른 글

날짜 비교  (0) 2021.05.04
JSON 응답 필드 Null 값 제외(@JsonInclude)  (0) 2021.04.30
문자열 중간 마스킹 처리  (0) 2021.04.22
문자열 n번째 이후 마스킹 처리  (0) 2021.04.22
두 지점간의 거리 계산  (0) 2021.04.16

댓글