import java.util.Scanner;
public class Millls {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter milliseconds: ");
long millis= sc.nextLong();
System.out.println(convertMillis(millis));
}
public static String convertMillis(long millis){
long s = (millis / 1000) % 60;
long m = (millis / (1000 * 60)) % 60;
long hh = (millis / (1000 * 60 * 60)) % 24;
String time = String.format("%d:%d:%d",hh,m,s);
return time;
}
}
我需要专门做转换工厂(555550000)以返回字符串154:19:10。请它与其他问题不同。我曾尝试过%02:但它仍无法正常工作
答案 0 :(得分:0)
参考Java中的java.util.concurrent.TimeUnit Api。它有直接的方法从一个时间单位转换到另一个时间单位。
样本用法:
long s = TimeUnit.SECONDS.convert(555550000, TimeUnit.MILLISECONDS);
long m = TimeUnit.MINUTES.convert(555550000, TimeUnit.MILLISECONDS);
long hh = TimeUnit.HOURS.convert(555550000, TimeUnit.MILLISECONDS);
答案 1 :(得分:0)
你正在采用模数24小时。因此,您总是会在0到23之间(包括0到23小时)结束。删除模数,你将得到预期的结果:
long hh = (millis / (1000 * 60 * 60))