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

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

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

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

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 클래스를 사용하셔도 됩니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.