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

조회수 11105회

발생하는 문제 및 실행환경

유저가 제 프로그램을 시작할때 시간을 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);//시
    

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

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)