Android:将毫秒转换为时间

Moh*_*mad -1 android

我想返回毫秒时间

但是我的代码不起作用!

long ms = 86400000;

long s = ms % 60;
long m = (ms / 60) % 60;
long h = (ms / (60 * 60)) % 24;
String timeFind = String.format("%d:%02d:%02d", h, m, s);
Run Code Online (Sandbox Code Playgroud)

N J*_*N J 6

您可以使用

int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 5

您可以使用SimpleDateFormat,但是请注意,您应该同时设置时区和语言环境:

DateFormat formatter = new SimpleDateFormat("HH:mm:ss", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String text = formatter.format(new Date(millis));
Run Code Online (Sandbox Code Playgroud)

时区部分很重要,因为否则它将使用系统默认时区,这通常是不合适的。请注意,Date此处将是UTC 1970年1月1日-假设您的毫秒值小于24小时。