[TIP] 두 날짜 사이의 차이 계산하기
프로그래밍을 하다 보면 날짜 계산을 할 경우가 생기게 되는데요..
그럴때 사용할 수 있는 방법을 소개하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public void calDateBetweenAandB() { String date1 = "2016-09-21"; String date2 = "2016-09-10"; try{ // String Type을 Date Type으로 캐스팅하면서 생기는 예외로 인해 여기서 예외처리 해주지 않으면 컴파일러에서 에러가 발생해서 컴파일을 할 수 없다. SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd"); // date1, date2 두 날짜를 parse()를 통해 Date형으로 변환. Date FirstDate = format.parse(date1); Date SecondDate = format.parse(date2); // Date로 변환된 두 날짜를 계산한 뒤 그 리턴값으로 long type 변수를 초기화 하고 있다. // 연산결과 -950400000. long type 으로 return 된다. long calDate = FirstDate.getTime() - SecondDate.getTime(); // Date.getTime() 은 해당날짜를 기준으로1970년 00:00:00 부터 몇 초가 흘렀는지를 반환해준다. // 이제 24*60*60*1000(각 시간값에 따른 차이점) 을 나눠주면 일수가 나온다. long calDateDays = calDate / ( 24*60*60*1000); calDateDays = Math.abs(calDateDays); System.out.println("두 날짜의 날짜 차이: "+calDateDays); } catch(ParseException e) { // 예외 처리 } } | cs |
18 line 이해 안되시는 분. getTime() 에 대한 문서를 보게되면..
Declaration
public long getTime()
Return Value
번역: 이 메소드는 해당 날짜가 1970년 1월 1일 00:00:00시 부터 얼마나 지났는지를 리턴합니다.
출처 : https://www.tutorialspoint.com/java/util/date_gettime.htm
getTime() 을 한번 써보시면 알게될거예요..
20 line에서는 Math.abs() 를 통해 음수 결과일 경우 양수로 바꿔주었습니다.
날짜 차이만 구하는 거라면 이 방법이 깔끔하게 값을 이용할 수 있습니다.
'HighCode > Java' 카테고리의 다른 글
| [Spring] Restful한 스프링 @ResponseBody vs @RestController (1) | 2016.12.21 |
|---|---|
| 프알못을 위한 Java 04. 조건문 if 와 switch (0) | 2016.09.27 |
| [TIP] 정규표현식(Pattern Matching) 완전 정리! (6) | 2016.09.22 |
| [TIP] 두 날짜 사이의 차이 계산하기 (1) | 2016.09.21 |
| 프알못을 위한 Java - 02. 문자열 출력 (0) | 2016.09.04 |
| 프알못을 위한 Java - 01. 프로젝트,클래스 생성 (0) | 2016.09.04 |
2018.10.15 22:02
7번줄 SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
mm은 분이고 MM이 월입니당!