首页 > 解决方案 > 是否有任何库可以在 java 中将秒转换为天/小时/分钟?

问题描述

我只想将秒转换为正确的时间格式。

例如,如果是 30 秒,那么它只显示为 30 秒。如果是 80 秒,则显示为 1 分 20 秒。大于 1 小时 1 天时类似。

当然,我自己实现很简单,只是想知道是否有任何我可以利用的现有库。谢谢

标签: javatime

解决方案


TimeUnit 属于 java.util.concurrent 包。自 JDK 1.5 以来,TimeUnit 已在 java 中出现。TimeUnit 使用时间单位。TimeUnit 有许多单位,如 DAYS、MINUTES、SECONDS 等。

但它不会直接将秒转换为分钟、天、小时......因此,您可以参考下面的代码将秒转换为分钟、天和小时。

import java.util.concurrent.TimeUnit;
import java.util.Scanner;
public class Time {

public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);
    int seconds = keyboard.nextInt();
    int day = (int) TimeUnit.SECONDS.toDays(seconds);
    long hours = TimeUnit.SECONDS.toHours(seconds) -
                 TimeUnit.DAYS.toHours(day);
    long minute = TimeUnit.SECONDS.toMinutes(seconds) - 
                  TimeUnit.DAYS.toMinutes(day) -
                  TimeUnit.HOURS.toMinutes(hours);
    long second = TimeUnit.SECONDS.toSeconds(seconds) -
                  TimeUnit.DAYS.toSeconds(day) -
                  TimeUnit.HOURS.toSeconds(hours) - 
                  TimeUnit.MINUTES.toSeconds(minute);

    System.out.println("Day " + day + " Hour " + hours + " Minute " + minute + " Seconds " + second);
  }}

` 希望这段代码对你有帮助!


推荐阅读