> Java > java지도 시간 > 본문

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

Linda Hamilton
풀어 주다: 2024-11-02 03:51:02
원래의
1093명이 탐색했습니다.

How to Convert Milliseconds to

밀리초를 "hh:mm:ss" 형식으로 변환

밀리초를 친숙한 "hh:mm:ss" 형식으로 변환해야 하는 상황이 발생할 수 있습니다. hh:mm:ss" 형식으로, 일반적으로 시간을 나타내는 데 사용됩니다. 이는 카운트다운 타이머와 같은 애플리케이션의 일반적인 요구 사항일 수 있습니다.

문제 이해

다음 코드를 사용하여 변환을 수행해 보셨을 수도 있습니다.

<code class="java">//hh:mm:ss
String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
    TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
    TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));</code>
로그인 후 복사

그러나 이 코드는 예상대로 작동하지 않을 수 있습니다. 예를 들어 3600000ms(1시간을 나타냄)를 입력하면 올바른 "01:00:00" 대신 "01:59:00"이 표시됩니다.

문제 식별

자세히 살펴보면 문제는 다음 줄에 있습니다.

<code class="java">TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))</code>
로그인 후 복사

여기에서는 시간 대신 분을 사용하여 시간을 밀리초로 변환합니다.

수정 중 논리

올바른 코드는 대신 TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))를 사용해야 합니다.

<code class="java">//hh:mm:ss
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)));</code>
로그인 후 복사

이 변경으로 시간 변환이 다음과 같이 보장됩니다. 올바르게 수행하면 3600000ms에 대해 "01:00:00"이라는 원하는 결과를 얻을 수 있습니다.

간소화된 버전

다음을 사용하여 코드를 더욱 단순화할 수 있습니다. 뺄셈 대신 계수 나누기:

<code class="java">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));</code>
로그인 후 복사

이 버전은 동일한 정확한 결과를 제공하면서도 효율성을 유지합니다.

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

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