package itn.com.cmm.util;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.format.DateTimeFormatter;

/**
 * 
 * @author 		: 이호영
 * @fileName 	: DateUtil.java 
 * @date 		: 2023.04.06
 * @description : Date 다루는 Util
 * =========================================================== 
 * DATE          AUTHOR   NOTE 
 * ----------------------------------------------------------- *
 * 2023.04.06    이호영          최초 생성
 * 
 * 
 * 
 */
public final class DateUtil {
	

    /** 
     * @methodName	: getTodayYearAndMonthAndFirstDay 
     * @author		: 이호영
     * @date		: 2023.04.06 
     * @description	: 해당 년월일 구하기 : 일은 1일
     * @return ex) 2023/04/01
     */
    public static String getTodayYearAndMonthAndFirstDay() {
    	LocalDate currentDate = LocalDate.now();
    	return LocalDate.of(currentDate.getYear(), currentDate.getMonthValue(), 1)
    			.format( DateTimeFormatter.ofPattern("yyyy/MM/dd"));
    }
    
    /** 
     * @methodName	: getTodayYearAndMonthAndLastDay 
     * @author		: 이호영
     * @date		: 2023.04.06 
     * @description	: 해당 년월일 구하기 : 일은 마지막일
     * @return ex) 2023/04/30
     */
    public static String getTodayYearAndMonthAndLastDay() {
    	LocalDate currentDate = LocalDate.now();
    	return LocalDate.of(currentDate.getYear(), currentDate.getMonthValue(), currentDate.lengthOfMonth())
    			.format( DateTimeFormatter.ofPattern("yyyy/MM/dd"));
    }
    
    
    /** 
     * @methodName	: getNowYearToString 
     * @author		: 이호영
     * @date		: 2023.04.07 
     * @description	: 현재 연도 
     * @return : String
     */
    public static String getNowYearToString() {
    	return Integer.toString(LocalDate.now().getYear());
    }
    
    /** 
     * @methodName	: getNowMonthToString 
     * @author		: 이호영
     * @date		: 2023.04.07 
     * @description	: 현재 월
     * @return : String
     */
    public static String getNowMonthToString() {
    	LocalDate currentDate = LocalDate.now();
    	return Integer.toString(currentDate.getMonthValue());
    }
    
    /** 
     * @methodName	: getNowDayToString 
     * @author		: 이호영
     * @date		: 2023.04.07 
     * @description	: 현재 일
     * @return : String
     */
    public static String getNowDayToString() {
    	LocalDate currentDate = LocalDate.now();
    	return Integer.toString(currentDate.getDayOfMonth());
    }
    
    
}
