자바에서 밀리초를 X분 X초로 바꾸고싶어요..
조회수 11120회
발생하는 문제 및 실행환경
유저가 제 프로그램을 시작할때 시간을 System.currentTimeMillis()
를 사용해서 기록하려고 하는데요. 기록한 시간을 사람이 읽을수 있게 XX시간 XX분, XX초
라고 하거나 XX 분, XX초
라고하거나 어쨌든 이런 방식으로 표현하고싶은데 어떻게 하면 되죠?
에러메시지(있는 경우)
소스코드
전체 소스코드를 붙여넣지 마세요. 문제의 이해에 도움이 되는 경우에만 소스코드를 붙여 주세요.
1 답변
-
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);//시
직접 시분초를 구하고싶으시면 이렇게하세요
댓글 입력