반응형
일하다가 만든 날짜 더하기 빼기 메서드이다.
public String cal_date(String cal_day, String sign)
{
String today = util_dateinfo.get_today_ymdhis(); //오늘날짜 받기
String day = "";
try{
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = format.parse(today);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int i_day = Integer.parseInt(cal_day);
if("plus".equals(sign))
cal.add(Calendar.DATE, i_day); //날짜 더하기
else if("minus".equals(sign))
cal.add(Calendar.DATE, (i_day*-1)); //날짜 빼기
day = format.format(cal.getTime());
} catch( Exception e) {
e.printStackTrace();
}
return day;
}
public static void main(String[] args) {
String ModStartDate = cal_date("730", "plus");
String ModEndDate = cal_date("710", "plus");
String SecureExprStartDate = cal_date("20", "minus");
System.out.println("ModStartDate - " + ModStartDate);
System.out.println("ModEndDate - " + ModEndDate);
System.out.println("SecureExprStartDate - " + SecureExprStartDate);
}
cal_date({계산할 날짜}, {더할지 뺄지})
를 사용해서 넘겨준다
위의 예시는 방금 테스트한 기준
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
내가 필요한 값은 년월일시분초의 14자리 형식의 시간 타입이라서 yyyyMMddHHmmss로 설정하고
Date date = format.parse(today);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
문자열을 Date 형식으로 그리고 Calendar 형식으로 바꿔준다.
int i_day = Integer.parseInt(cal_day);
파라미터로 받은 String 형태의 cal_day 값을 int 형태의 값으로 변환한다.
변환하는 이유는
날짜를 계산하기 위해 사용하는 cal.add( ) 의 파라미터 조건이 int 형식이기 때문이다. (혹은 날짜)
if("plus".equals(sign))
cal.add(Calendar.DATE, i_day);
else if("minus".equals(sign))
cal.add(Calendar.DATE, (i_day*-1));
day = format.format(cal.getTime());
이후 plus면 그냥, minus 면 -1을 곱해서 cal.add( )에 넣어준다.
이후 다시 계산된 값을 String 형태로 변환하여 리턴.
반응형
'Language > Java' 카테고리의 다른 글
[JAVA] HashMap 사용 (0) | 2022.08.03 |
---|---|
[JAVA] 배열에서 일치하는 문자열 찾기 (0) | 2022.07.21 |
[JAVA] Int to String, String to Int 형 변환 (0) | 2022.07.01 |
[JAVA] 에러 String index out of range (0) | 2022.05.31 |
[JAVA] 구글 geocode 이용한 gps를 한글명 주소로 바꾸기 (0) | 2022.01.04 |
댓글