date.set(y,m,d...);
이런 방법이 없어짐 ㅠㅠ
두 날짜의 차이를 얻고 싶으시면, 그렇게 문자열에서 부분만을 뽑아서 계산하는 것보다는 Date 클래스를 이용하는 것이 더 깔끔하고 바람직한 방법입니다.
다음 코드를 참고하세요.
코드를 보시면 충분히 이해하실 것이라 생각됩니다. 수행하면 결과값이 5가 나옵니다.
SimpleDateFormat는 지정한 형태로 들어온 문자열을 Date 객체로 바꿔주는 역할을 합니다.
그리고, 이렇게 바뀌어진 두 날짜의 차이를 millisecond 단위로 구하고 이것을 다시 일단위로 바꾸는 것이지요.
import java.text.SimpleDateFormat; import java.util.Date; public class DiffOfDate { public static void main(String[] args) throws Exception { System.out.println(diffOfDate("20031028", "20031102")); } public static long diffOfDate(String begin, String end) throws Exception { SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); Date beginDate = formatter.parse(begin); Date endDate = formatter.parse(end); long diff = endDate.getTime() - beginDate.getTime(); long diffDays = diff / (24 * 60 * 60 * 1000); return diffDays; } }