>Java >java지도 시간 >Java에서 밀리초를 \'hh:mm:ss\' 형식으로 변환하는 방법은 무엇입니까?

Java에서 밀리초를 \'hh:mm:ss\' 형식으로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-01 19:09:30389검색

How to Convert Milliseconds to

밀리초 형식을 "hh:mm:ss"로 지정

문제:

카운트다운 타이머를 사용하는 개발자는 다음과 같은 문제가 발생합니다. 밀리초를 원하는 "hh:mm:ss" 형식으로 변환하는 데 어려움이 있습니다. 초기 시도에서는 특히 시간을 초과하는 값의 경우 잘못된 시간 표시가 발생했습니다.

해결책:

주된 문제는 다음을 사용하여 시간을 밀리초로 변환하는 데 논리적 결함이 있기 때문에 발생했습니다. 몇 시간이 아닌 몇 분. 구체적으로 사용된 코드는 다음과 같습니다.

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

다음과 같습니다.

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

코드 데모:

수정된 코드 조각은 다음과 같습니다. 밀리초 형식을 "hh:mm:ss"로 올바르게 지정하는 경우:

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

테스트 사례:

long millis = 3600000;
String hms = ... // Replace with revised code from above

System.out.println(hms); // Expected output: 01:00:00

또한 모듈러스 나누기를 사용하여 코드를 최적화할 수 있습니다. 빼기 대신:

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));

두 변형 모두 올바른 "hh:mm:ss" 형식을 달성하고 TimeUnit API를 활용하여 변환을 원활하게 처리합니다.

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

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