> Java > java지도 시간 > Java 날짜 차이 계산이 부정확한 이유는 무엇이며 어떻게 해결할 수 있습니까?

Java 날짜 차이 계산이 부정확한 이유는 무엇이며 어떻게 해결할 수 있습니까?

DDD
풀어 주다: 2024-12-02 20:04:13
원래의
532명이 탐색했습니다.

Why is my Java date difference calculation inaccurate, and how can I fix it?

날짜 간 시차 확인

문제 설명:

일수 차이 계산 두 날짜인 ageingDate와 today 사이에 Java를 사용하면 예상치 못한 결과가 발생했습니다. 계산된 차이가 실제 일수보다 큽니다.

분석:

두 날짜 사이의 일차를 계산하기 위해 제공된 코드가 올바른 것으로 보입니다. 그러나 오류는 코드의 다른 부분에서 잠재적인 문제로 인해 발생할 수 있습니다.

해결 방법:

1. 잘못된 객체: ageingDate와 today가 올바른 Date 클래스의 인스턴스인지 확인하세요. 타입 변환이나 캐스팅 오류가 없는지 확인하세요.

2. 시간대 불일치: 두 날짜의 시간대가 일치하는지 확인하세요. 서로 다른 경우 날짜 중 하나를 다른 날짜와 일치하도록 변환하거나 시간대 처리를 계산에 포함하세요.

3. 계산 및 논리:calculateDifference() 내의 논리를 다시 확인하고 가능한 모든 시나리오와 예외 사례를 올바르게 고려하는지 확인하십시오.

대체 접근 방식:

위의 문제 해결 단계로 문제가 해결되지 않으면 제공된 답변에서 제안한 대로 Joda Time과 같은 외부 라이브러리를 사용하는 것이 좋습니다. Joda Time은 강력한 날짜 및 시간 조작 기능을 제공하며 이 계산을 단순화할 수 있습니다. 다음 코드 샘플은 Joda Time을 사용하는 방법을 보여줍니다.

import java.util.Date;
import org.joda.time.DateTime;
import org.joda.time.Days;

Date past = new Date(110, 5, 20); // June 20th, 2010
Date today = new Date(110, 6, 24); // July 24th
int days = Days.daysBetween(new DateTime(past), new DateTime(today)).getDays(); // => 34
로그인 후 복사

위 내용은 Java 날짜 차이 계산이 부정확한 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿