2

currentTimeMillis();用来获取开始时间,然后再次使用它来获取结束时间。然后我使用 delete start from end 并获得一个值,即两者之间的持续时间。我正在使用SimpleDateFormat使所有这些值变得漂亮和可读。唯一的事情是,当我使用像 10 秒(或 300 等)这样的低值而不是完整的长数字(即 1335718053126)时,我似乎在 01:00:10 或 01:02:12 等全部退出我的输出?事实上,如果我只是要求 SimpleDateFormat 输出一个 hh:mm:ss 值而不是 0 值,它会读取 01:00:00。

有谁知道这是为什么?

如果其他人需要时间格式化的解决方案,请找到这个简洁的小代码。 来源链接

public String getNiceTime(long time) {     

    String format = String.format("%%0%dd", 2);
    String seconds = String.format(format, time % 60);
    String minutes = String.format(format, (time % 3600) / 60);
    String hours = String.format(format, time / 3600);
    String outPutTime =  hours + ":" + minutes + ":" + seconds;
    return outPutTime;
}
4

1 回答 1

2
mySimpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));

说明:您可能生活在 GMT+1 时区,除非您指定不同的时区,否则您的格式化程序将选择您当前的时区,因此它将 0 小时视为 GMT,而当您处于 GMT+1 时,它会输出 1 小时

于 2013-01-18T13:30:44.897 回答