> Java > java지도 시간 > Java에서 날짜 및 시간 차이를 정확하게 계산하는 방법은 무엇입니까?

Java에서 날짜 및 시간 차이를 정확하게 계산하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-16 03:19:15
원래의
659명이 탐색했습니다.

How to Accurately Calculate Date and Time Differences in Java?

Java에서 날짜 및 시간 차이 계산

이 코드 조각의 목표는 주어진 두 날짜 사이의 시간 차이를 확인하는 것입니다. 시, 분, 초. 그러나 제공된 코드는 잘못된 결과를 생성하는 것 같습니다. 문제를 조사하고 보다 정확한 해결책을 제시해 보겠습니다.

코드는 두 날짜(d1 및 d2)가 나타내는 밀리초를 빼서 시간 차이를 계산합니다. 이 접근 방식은 일반적으로 정확하지만 분과 시간에 대한 후속 계산에서 문제가 발생합니다.

밀리초를 분으로 변환할 때 코드에서 TimeUnit.MILLISECONDS.toMinutes 대신 /를 잘못 사용합니다. 마찬가지로 몇 시간 동안에는 TimeUnit.MILLISECONDS.toHours 대신 /를 사용합니다. 이러한 작업으로 인해 계산이 잘못되어 출력에 불일치가 발생하게 됩니다.

이 문제를 해결하려면 java.util.concurrent.TimeUnit 클래스를 활용하면 서로 다른 시간 간을 변환하는 편리한 방법을 제공합니다. 단위. 수정된 코드 조각은 다음과 같습니다.

...
// Calculate time difference in milliseconds
long diff = d2.getTime() - d1.getTime();

// Convert to seconds, minutes, and hours using TimeUnit
long seconds = TimeUnit.MILLISECONDS.toSeconds(diff);
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
long hours = TimeUnit.MILLISECONDS.toHours(diff);

System.out.println("Time in seconds: " + seconds + " seconds.");
System.out.println("Time in minutes: " + minutes + " minutes.");
System.out.println("Time in hours: " + hours + " hours.");
...
로그인 후 복사

이 수정된 코드를 사용하면 예상한 결과를 얻을 수 있습니다.

Time in seconds: 225 seconds.
Time in minutes: 3 minutes.
Time in hours: 0 hours.
로그인 후 복사

TimeUnit을 사용하여 적절한 변환을 통합하면 코드가 시간을 정확하게 계산합니다. 의도한 대로 두 날짜의 차이가 발생합니다.

위 내용은 Java에서 날짜 및 시간 차이를 정확하게 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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