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 중국어 웹사이트의 기타 관련 기사를 참조하세요!