【问题标题】:I want to convert Time in seconds to day hour minute and second in Java我想以秒为单位将时间转换为 Java 中的日时分秒
【发布时间】:2016-08-06 09:14:19
【问题描述】:

例如,我想将 283392s 转换为 3d 6h 43m 12s。这可以通过 SimpleDateFormat 实现吗?

【问题讨论】:

  • 这可以通过简单的逻辑来实现
  • 是的,你可以。检查文档或搜索它。 stackoverflow.com/questions/25458832/…
  • 是 2833.... 秒吗?
  • 我已经用数学实现了这一点,但我正在寻找一些简单的解决方案。
  • @PřemyslŠťastný 是的,它在几秒钟内。

标签: java simpledateformat


【解决方案1】:

在 java 8 中,您可以执行以下单行:

import java.time.LocalTime;
System.out.println(LocalTime.MIN.plusSeconds(283392).toString());

返回“6:43:12”

【讨论】:

    【解决方案2】:

    应该像这样使用 TimeUnit 轻松完成:

     int day = (int)TimeUnit.SECONDS.toDays(seconds);        
     long hours = TimeUnit.SECONDS.toHours(seconds) - (day *24);
     long minute = TimeUnit.SECONDS.toMinutes(seconds) - (TimeUnit.SECONDS.toHours(seconds)* 60);
     long second = TimeUnit.SECONDS.toSeconds(seconds) - (TimeUnit.SECONDS.toMinutes(seconds) *60);
    

    【讨论】:

      猜你喜欢
      • 2022-11-27
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 2011-06-09
      • 1970-01-01
      • 2015-06-17
      • 2016-07-02
      • 2021-01-28
      相关资源
      最近更新 更多