Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找Java格式的时间UTIL_Java_Time_Formatting_Timestamp - Fatal编程技术网

查找Java格式的时间UTIL

查找Java格式的时间UTIL,java,time,formatting,timestamp,Java,Time,Formatting,Timestamp,我正在寻找一个time-utils for java,在这里我可以以秒或毫秒为单位给出一个时间,它将返回一些方法,例如getSeconds和getMinutes,因此我可以轻松地将文本格式化为剩余1天2小时3分4秒。 有人知道吗?一分钟有60秒,一小时有60分钟,一天有24小时,所以: private static final int SECONDS_IN_MINUTE = 60; private static final int SECONDS_IN_HOUR = 60 * SECONDS_I

我正在寻找一个time-utils for java,在这里我可以以秒或毫秒为单位给出一个时间,它将返回一些方法,例如
getSeconds
getMinutes
,因此我可以轻松地将文本格式化为
剩余1天2小时3分4秒

有人知道吗?

一分钟有60秒,一小时有60分钟,一天有24小时,所以:

private static final int SECONDS_IN_MINUTE = 60;
private static final int SECONDS_IN_HOUR = 60 * SECONDS_IN_MINUTE;
private static final int SECONDS_IN_DAY = 24 * SECONDS_IN_HOUR;
然后你只需要继续划分:

class RemainingTime {
    private static final int SECONDS_IN_MINUTE = 60;
    private static final int SECONDS_IN_HOUR = 60 * SECONDS_IN_MINUTE;
    private static final int SECONDS_IN_DAY = 24 * SECONDS_IN_HOUR;

    private int totalSeconds, days, hours, minutes, seconds;

    public RemainingTime(int totalSeconds) {
        this.totalSeconds = totalSeconds;
        init();
    }

    private void init() {
        int remainingSeconds = totalSeconds;
        days = remainingSeconds / SECONDS_IN_DAY;

        remainingSeconds -= days * SECONDS_IN_DAY;
        hours = remainingSeconds / SECONDS_IN_HOUR;

        remainingSeconds -= hours * SECONDS_IN_HOUR;
        minutes = remainingSeconds / SECONDS_IN_MINUTE;

        remainingSeconds -= minutes * SECONDS_IN_MINUTE;
        seconds = remainingSeconds;
    }

    public int getDays() { return days; }
    public int getHours() { return hours; }
    public int getMinutes() { return minutes; }
    public int getSeconds() { return seconds; }
}
您可以这样使用它:

RemainingTime rt = new RemainingTime(274119);

System.out.println(String.format(
        "Remaining %s day(s), %s hour(s), %s minute(s) and %s second(s)",
        rt.getDays(), rt.getHours(), rt.getMinutes(), rt.getSeconds()));
产出:

Remaining 3 day(s), 4 hour(s), 8 minute(s) and 39 second(s)

你做过任何研究吗?也许
java.time.Duration
如果你最多只需要几天(即,不是几个月),那么这只需要几个部分,不需要一个库来存储可能的副本(你可以从那里简单地修改答案,给你
1天2小时3分4秒
)。