Java:将秒转换为分钟、小时和天

标签 java

任务是:

The output should look like this (it is a good idea to echo back the input): You entered 500,000 seconds, which is 5 days, 18 hours, 53 minutes and 20 seconds. (5 days 18:53:20 hours)

我该怎么做?最简单的理解和执行方法是什么?

讲师还说“没有硬编码”,我不太确定这是什么,但我认为他希望我们为它们分配常量。

最佳答案

使用内置 <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html" rel="noreferrer noopener nofollow">TimeUnit</a> 的示例.

long uptime = System.currentTimeMillis();

long days = TimeUnit.MILLISECONDS
    .toDays(uptime);
uptime -= TimeUnit.DAYS.toMillis(days);

long hours = TimeUnit.MILLISECONDS
    .toHours(uptime);
uptime -= TimeUnit.HOURS.toMillis(hours);

long minutes = TimeUnit.MILLISECONDS
    .toMinutes(uptime);
uptime -= TimeUnit.MINUTES.toMillis(minutes);

long seconds = TimeUnit.MILLISECONDS
    .toSeconds(uptime);

关于Java:将秒转换为分钟、小时和天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25903354/

相关文章:

java - 为什么反转循环会使它变慢?

java - 不可理解的空指针异常 - java

java - 使用 java 反射获取方法的类型化返回

java - 创建用于测试分布式系统的网络错误

java - 如何使用 ByteBuddy 创建没有公共(public)构造函数的类的动态代理

java - 如何避免 Quartz Scheduler 中的多个线程触发同一个作业?

java - 由于撇号,Hibernate 中的 QueryException

java - 我想连接到java上的数据库,但有一些错误

java - Hadoop setMapperClass和SetReducerClass无法正常工作?

java - 嵌套异常是 java.io.FileNotFoundException : Could not open ServletContext resource [/WEB-INF/dispatcher-servlet. xml]