자바의 두 Date 객체들 사이의 차이를 어떻게 계산하나요?


스칼라에서 특정 Date 객체와 현재 시간의 차이를 계산하기 위해서 자바의 java.util.Date 클래스를 사용하고 있습니다. 다음과 같이 getTime() 메소드를 사용해서 그 차이를 계산할 수 있다는 것을 알고 있습니다.

(new java.util.Date()).getTime() - oldDate.getTime()

그런데, 이 결과는 Long 타입의 밀리센컨드 수입니다. 시간 차이를 얻을 수 있는 간단한 더 좋은 방법이 있나요?

  • 2016년 05월 14일에 작성됨

조회수 139


1 답변


좋아요
0
싫어요
채택취소하기

JDK의 Date 클래스의 API는 자바가 처음 만들어졌을 때 고안된 정의입니다. 그래서 부족한 기능들이 많지요. 저는 Joda Time 라이브러리를 사용하는 것을 권합니다.

Joda Time은 시간 간격의 개념을 정의하였습니다.:

Interval interval = new Interval(oldTime, new Instant());

Joda는 두 가지 컨셉을 갖고 있습니다.: 두 타임 객체에 사이의 시간 간격을 표현하는 Interval (예: 오전 8시와 오전 10시 사이의 시간)과 실제 시간 경계가 없이 시간이 길이를 표현하는 Duration(예: 2시간!)을 정의하였습니다.

단지 시간 차이를 계산하기 원한다면, Comparable.compareTo()를 사용하여 Comparable 인터페이스를 구현한 대부분의 Date 클래스를 사용하셔도 됩니다.

  • 2016년 05월 15일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close