为了账号安全,请及时绑定邮箱和手机立即绑定

寻找Java格式的时间实用程序

寻找Java格式的时间实用程序

ABOUTYOU 2023-09-06 14:53:33
我正在寻找一个用于 java 的时间实用程序,我可以在其中给出以秒或以毫为单位的时间,并且它会以方法返回,例如,getSeconds因此getMinutes我可以轻松地将文本格式化为看起来像Remaining 1 day 2 hours 3 minutes and 4 seconds. 有谁知道吗?
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

一分钟有 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)


查看完整回答
反对 回复 2023-09-06
  • 1 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信