>Java >java지도 시간 >Java에서 밀리초를 \'hh:mm:ss\' 형식으로 어떻게 변환합니까?

Java에서 밀리초를 \'hh:mm:ss\' 형식으로 어떻게 변환합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-02 11:55:30348검색

How do I Convert Milliseconds to

밀리초를 "hh:mm:ss" 형식으로 변환하는 방법: 해결됨

밀리초를 "hh:mm:ss"로 변환 형식은 까다로울 수 있지만 Java의 TimeUnit API는 이를 수행하는 편리한 방법을 제공합니다. 다른 스레드에서 잘못된 시도를 발견한 후 이 변환을 처리하는 올바른 방법을 살펴보겠습니다.

처음에는 라인을 사용하는 잘못된 접근 방식이 있었습니다.

TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))

그러나 이 계산은 잘못되었습니다. 시간 대신 분을 사용하여 시간을 밀리초로 변환했습니다. 올바른 논리는 다음과 같습니다.

TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))

수정된 코드 조각은 다음과 같습니다.

String.format("%02d:%02d:%02d", 
    TimeUnit.MILLISECONDS.toHours(millis),
    TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), // Corrected line
    TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));   

이 수정을 통해 시간은 적절한 시간 단위를 사용하여 올바르게 변환됩니다.

더욱이 , 빼기 대신 모듈러스 나누기를 사용하여 코드를 단순화할 수 있습니다.

String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
    TimeUnit.MILLISECONDS.toMinutes(millis) % TimeUnit.HOURS.toMinutes(1),
    TimeUnit.MILLISECONDS.toSeconds(millis) % TimeUnit.MINUTES.toSeconds(1));

두 접근 방식 모두 TimeUnit API를 활용하고 밀리초 단위로 정확한 "hh:mm:ss" 형식을 제공합니다.

위 내용은 Java에서 밀리초를 \'hh:mm:ss\' 형식으로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.