java spring jodatime - Joda-Time : 기간, 간격 및 기간의 차이점은 무엇입니까?




1 Answers

서로 다른 개념을 나타 내기 때문에 3 개의 클래스가 필요하므로 상대적인 성능보다는 작업에 적합한 클래스를 선택해야합니다. 이탤릭체로 된 주석이있는 documentation 에서 :

Joda-Time의 간격은 밀리 초에서 다른 순간까지의 시간 간격을 나타냅니다. 두 인스턴트 모두 datetime 연속체에 완전히 지정된 순간이며 시간대가 있습니다. 특정 시간은 예를 들어 어제 20 : 00 : 00GMT와 오늘 아침 09 : 00 : 00GMT 사이의 간격 일 수 있습니다.

Joda-Time의 지속 시간은 밀리 초 단위로 측정 한 지속 시간을 나타냅니다. 기간은 종종 간격에서 얻어집니다. 즉, 구간의 끝에서 시작을 뺀 시간을 구할 수 있습니다.

Joda-Time의 기간은 필드의 관점에서 정의 된 기간을 나타냅니다 (예 : 3 년 5 개월 2 일 7 시간). 이는 밀리 초 단위로 정확하지 않은 지속 시간과 다릅니다. 기간은 상대적인 순간 (시간 순차 및 시간대 포함)을 지정하여 밀리 초 단위로 정확하게 확인할 수 있습니다. 예를 들어 1 년이라는 기간을 고려해보십시오. 1 월 1 일에이 값을 추가하면 다음 1 월 1 일에 항상 도착하지만, 기간은 중간에있는 연도가 윤년인지 아닌지에 따라 다릅니다. 마찬가지로 한 달에 1 달을 더하면 다음 달 1 일에 도착하지만 기간 (밀리 초)은 해당 달을 기준으로 달라집니다

3 번 질문에서, duration을 나누기위한 구체적인 방법은 정말로 필요하지 않습니다. 왜냐하면 우리는 항상 duration으로부터 getMillis() 사용하여 밀리 세컨드 수를 구해서 나누고 나누기를합니다. 왜냐하면 new Duration(long duration) ).

기간을 나누는 것은 위에있는 기간의 정의를 기반으로 한 진정한 의미가 아닙니다. 예를 들어 반달이 뭐야? (길이는 달에 달려 있음).

plusdays

Joda-Time 2에서는 3 가지 시간 범위의 차이점은 무엇입니까?

  • Period
  • Interval
  • Duration

    1. 왜 우리는 세 가지 수업이 필요합니까?

    2. 어느 것이 더 잘 수행됩니까?

    3. Period 또는 Duration 또는 Interval 인스턴스를 분할 하지 않는 이유는 무엇입니까? 예 : p = p.divideBy(2);




Related