프로그래밍 언어/JAVA

Java에서 밀리 초를 "X 분, x 초"로 변환하는 방법

Rateye 2021. 11. 23. 10:17
728x90
반응형
질문 : Java에서 밀리 초를 "X 분, x 초"로 변환하는 방법은 무엇입니까?

사용자가 프로그램에서 무언가를 시작할 때 System.currentTimeMillis() 사용하여 시간을 기록하고 싶습니다. 완료되면 start 변수에서 System.currentTimeMillis() 를 빼고 "XX 시간, XX 분, XX 초"또는 "XX 분"과 같은 사람이 읽을 수있는 형식을 사용하여 경과 된 시간을 표시하고 싶습니다. , XX 초 "는 누군가 한 시간이 걸리지 않기 때문입니다.

이를 수행하는 가장 좋은 방법은 무엇입니까?

답변

java.util.concurrent.TimeUnit 클래스를 사용하십시오.

String.format("%d min, %d sec", 
    TimeUnit.MILLISECONDS.toMinutes(millis),
    TimeUnit.MILLISECONDS.toSeconds(millis) - 
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);

참고 : TimeUnit 은 Java 1.5 사양의 일부이지만 toMinutes 는 Java 1.6부터 추가되었습니다.

0-9 값에 선행 0을 추가하려면 다음을 수행하십시오.

String.format("%02d min, %02d sec", 
    TimeUnit.MILLISECONDS.toMinutes(millis),
    TimeUnit.MILLISECONDS.toSeconds(millis) - 
    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
);

TimeUnit 또는 toMinutes 가 지원되지 않는 경우 (예 : API 버전 9 이전의 Android에서) 다음 방정식을 사용하십시오.

int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
//etc...
출처 : https://stackoverflow.com/questions/625433/how-to-convert-milliseconds-to-x-mins-x-seconds-in-java
728x90
반응형