【Java】millisSecond에서 HH:mm:ss:SSS로 고리 누르기
4054 단어 안드로이드PlayFramework자바
처음에
카운트다운 앱을 만들려고 밀리초부터 시간표시를 하는 곳에서 막혔으므로 스스로 썼다.
문제가 있던 것
long형의 timeMilliSec을 주면, HH (0을 주면 07:00:00.000이 되어 버린다)
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
String timeFormatted = formatter.format(timeMilliSec);
코드
이것으로 해결?
TimeFormatter.javapublic class TimeFormatter {
public static String format(long millis) {
long hour = (millis / (1000 * 60 * 60)) % 24;
long minute = (millis / (1000 * 60)) % 60;
long second = (millis / 1000) % 60;
long millisSec = millis % 1000;
String time = String.format("%02d:%02d:%02d:%03d", hour, minute, second, millisSec);
return time;
}
}
사용 예
9342633ms를 02:35:42:554로 변환해 봅니다.
int hour = 2;
int minute = 35;
int second = 42;
long time = (hour * 3600 + minute * 60 + second) * 1000 + 633;
String formattedTime = TimeFormatter.format(time);
추가
SimpleDateFormat 사용
타임존의 관계로 Genymotion으로 움직이고 있을 때 시간이 어긋나 버린 것 같습니다.
이상한 클래스 만들지 않아도, Java의 API 사용하면 된다고 합니다!
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
String timeFormatted = formatter.format(time);
다른 환경에서 시도해보기
기사와는 관계 없습니다만, 지금 공부중의 프레임워크에서도 움직여 보았습니다.
PlayFramework를 사용하여 Chrome에서 실행할 때 시간이 어긋나는 현상을 확인할 수있었습니다.
맨 오른쪽이 시간대 설정
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
을 코멘트 아웃 한 부분입니다.
Reference
이 문제에 관하여(【Java】millisSecond에서 HH:mm:ss:SSS로 고리 누르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rild/items/cef1229a74ba2a9298b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
long형의 timeMilliSec을 주면, HH (0을 주면 07:00:00.000이 되어 버린다)
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
String timeFormatted = formatter.format(timeMilliSec);
코드
이것으로 해결?
TimeFormatter.javapublic class TimeFormatter {
public static String format(long millis) {
long hour = (millis / (1000 * 60 * 60)) % 24;
long minute = (millis / (1000 * 60)) % 60;
long second = (millis / 1000) % 60;
long millisSec = millis % 1000;
String time = String.format("%02d:%02d:%02d:%03d", hour, minute, second, millisSec);
return time;
}
}
사용 예
9342633ms를 02:35:42:554로 변환해 봅니다.
int hour = 2;
int minute = 35;
int second = 42;
long time = (hour * 3600 + minute * 60 + second) * 1000 + 633;
String formattedTime = TimeFormatter.format(time);
추가
SimpleDateFormat 사용
타임존의 관계로 Genymotion으로 움직이고 있을 때 시간이 어긋나 버린 것 같습니다.
이상한 클래스 만들지 않아도, Java의 API 사용하면 된다고 합니다!
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
String timeFormatted = formatter.format(time);
다른 환경에서 시도해보기
기사와는 관계 없습니다만, 지금 공부중의 프레임워크에서도 움직여 보았습니다.
PlayFramework를 사용하여 Chrome에서 실행할 때 시간이 어긋나는 현상을 확인할 수있었습니다.
맨 오른쪽이 시간대 설정
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
을 코멘트 아웃 한 부분입니다.
Reference
이 문제에 관하여(【Java】millisSecond에서 HH:mm:ss:SSS로 고리 누르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rild/items/cef1229a74ba2a9298b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public class TimeFormatter {
public static String format(long millis) {
long hour = (millis / (1000 * 60 * 60)) % 24;
long minute = (millis / (1000 * 60)) % 60;
long second = (millis / 1000) % 60;
long millisSec = millis % 1000;
String time = String.format("%02d:%02d:%02d:%03d", hour, minute, second, millisSec);
return time;
}
}
9342633ms를 02:35:42:554로 변환해 봅니다.
int hour = 2;
int minute = 35;
int second = 42;
long time = (hour * 3600 + minute * 60 + second) * 1000 + 633;
String formattedTime = TimeFormatter.format(time);
추가
SimpleDateFormat 사용
타임존의 관계로 Genymotion으로 움직이고 있을 때 시간이 어긋나 버린 것 같습니다.
이상한 클래스 만들지 않아도, Java의 API 사용하면 된다고 합니다!
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
String timeFormatted = formatter.format(time);
다른 환경에서 시도해보기
기사와는 관계 없습니다만, 지금 공부중의 프레임워크에서도 움직여 보았습니다.
PlayFramework를 사용하여 Chrome에서 실행할 때 시간이 어긋나는 현상을 확인할 수있었습니다.
맨 오른쪽이 시간대 설정
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
을 코멘트 아웃 한 부분입니다.
Reference
이 문제에 관하여(【Java】millisSecond에서 HH:mm:ss:SSS로 고리 누르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rild/items/cef1229a74ba2a9298b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
String timeFormatted = formatter.format(time);
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
Reference
이 문제에 관하여(【Java】millisSecond에서 HH:mm:ss:SSS로 고리 누르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rild/items/cef1229a74ba2a9298b3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)