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


발생하는 문제 및 실행환경

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

에러메시지(있는 경우)

소스코드

전체 소스코드를 붙여넣지 마세요. 문제의 이해에 도움이 되는 경우에만 소스코드를 붙여 주세요.
  • 2016년 01월 12일에 작성됨

조회수 505


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

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

  • 2016년 01월 12일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close