JAVA
JAVA - 두 날짜의 차이 일자 구하기
Park.S.W
2020. 5. 11. 11:52
반응형
java8 LocalDate등을 사용하면 좀 더 쉽게 날짜차이를 구할 수 있지만 아직까지 java 1.7이하를 쓰고 있는 경우가 많다. 7이하버전에서 기준일로부터 금일까지 차이라던지 두 날짜의 값이 있을때 날짜간의 차이를 구해보겠다.
두 날짜간의 차이를 구하기 위해서는 해당하는 날짜를 최소단위인 초단위로 변경한 다음 연산을 하고 원하는 일자로 변경하면 되는데, 여기선 getTimeInMillis()를 사용한다. 해당 메소드는 1/1000초로 반환되기 때문에 초단위로 구하기 위해서는 1000으로 나눠주고 일자로 변경하기 위해서는 초로 변경한 값에 (24(시간) * 60(분) * 60(초))를 나눠준다.
오늘부터 특정일자의 차이를 구하기
public class CalTest {
public static void main(String[] args) throws ParseException {
Calendar getToday = Calendar.getInstance();
getToday.setTime(new Date()); //금일 날짜
String s_date = "2020-03-01";
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(s_date);
Calendar cmpDate = Calendar.getInstance();
cmpDate.setTime(date); //특정 일자
long diffSec = (getToday.getTimeInMillis() - cmpDate.getTimeInMillis()) / 1000;
long diffDays = diffSec / (24*60*60); //일자수 차이
System.out.println(diffSec + "초 차이");
System.out.println(diffDays + "일 차이");
}
}
오늘은 포스팅일자인 2020-05-11일을 기준으로 결과값이다.
각 해당하는 일자를 ms으로 변경하여 차이값을 구하고 날짜 연산을 통해 차이 일수를 구할 수 있다.😙
반응형