Develop
2013.04.23 16:24
[java] 날짜 계산 (Date, SimpleDateFormat)
조회 수 13016 댓글 0
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; } }
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
805 | Develop |
[c] 이진트리/트리 순회법 코드(전위/중위/후위)
5 ![]() |
hooni | 2015.07.02 | 22701 |
804 | Develop |
[c] 자료구조 그래프(graph) 소스코드 - 확인해볼 것..
![]() |
hooni | 2013.04.23 | 9513 |
803 | Develop |
[c] 재미있는 코딩..
![]() |
hooni | 2003.04.23 | 23274 |
802 | Develop |
[c] 전위 표기법으로 연산 예제..
![]() |
hooni | 2013.04.23 | 10404 |
801 | Develop |
[c] 정사각배열의 서브 배열의 최대 값 구하기
![]() |
hooni | 2003.04.23 | 8649 |
800 | Develop |
[c] 정수를 2진수로 변환 (재귀,비트연산)
![]() |
hooni | 2003.04.23 | 8790 |
799 | Develop | [c] 지나가는 패킷 잡기 | hooni | 2003.04.23 | 9772 |
798 | Develop |
[c] 지폰(gphone) 소스.. 수정(암호화)
![]() |
hooni | 2013.04.23 | 8291 |
797 | Develop |
[c] 최단거리 알고리즘 & 예제소스..
13 ![]() |
hooni | 2013.04.23 | 12298 |
796 | Develop | [c] 최대공약수 알고리즘 (유클릿) | hooni | 2003.04.23 | 10349 |
795 | Develop | [c] 최대공약수, 최소공배수, 서로소 구하기 (펌) | hooni | 2013.04.23 | 12270 |
794 | Develop | [c] 캘린더 양음 변환 함수 | hooni | 2003.04.23 | 9604 |