자바에서 밀리초를 X분 X초로 바꾸고싶어요..

조회수 6951회

발생하는 문제 및 실행환경

유저가 제 프로그램을 시작할때 시간을 System.currentTimeMillis()를 사용해서 기록하려고 하는데요. 기록한 시간을 사람이 읽을수 있게 XX시간 XX분, XX초라고 하거나 XX 분, XX초라고하거나 어쨌든 이런 방식으로 표현하고싶은데 어떻게 하면 되죠?

에러메시지(있는 경우)

소스코드

전체 소스코드를 붙여넣지 마세요. 문제의 이해에 도움이 되는 경우에만 소스코드를 붙여 주세요.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

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

    이건 숫자를 두자리로 출력할때 01, 02 이렇게

    String.format("%02d min, %02d sec", 
        TimeUnit.MILLISECONDS.toMinutes(millis),
        TimeUnit.MILLISECONDS.toSeconds(millis) - 
        TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))
    );
    
    int seconds = (int) (milliseconds / 1000) % 60 ;            //초
    int minutes = (int) ((milliseconds / (1000*60)) % 60);  //분
    int hours   = (int) ((milliseconds / (1000*60*60)) % 24);//시
    

    직접 시분초를 구하고싶으시면 이렇게하세요

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.