如何使我的转换毫米与大数字一起工作

时间:2014-02-04 07:02:09

标签: java

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:但它仍无法正常工作

2 个答案:

答案 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))