数字转时间字符串

数字转时间字符串

前言

通常为了直观表现时间会把时间数字转成时间字符串
eg:
输入时间(秒):123456
输出时间字符串:1天10小时17分钟36秒

直接上代码

public class NumToDateString {
    public static void main(String[] args) {
        long dateNum = 123456;
        System.out.println(getPatchedTimeStr(dateNum));
    }
    private static String getPatchedTimeStr(long timeNum) {
        long dayTime;
        long hourTime;
        long minTime;
        long secondTime;
        String day = "天";
        String hour = "小时";
        String min = "分钟";
        String second = "秒";
        String date = "";
        dayTime = timeNum / 86400;
        hourTime = (timeNum % 86400) / 3600;
        minTime = ((timeNum % 86400) % 3600) / 60;
        secondTime = ((timeNum % 86400) % 3600) % 60;
        if (dayTime > 0) {
            date = dayTime + day;
        }
        if (hourTime > 0) {
            date = date + hourTime + hour;
        }
        if (minTime > 0) {
            date = date + minTime + min;
        }
        if (minTime > 0) {
            date = date + secondTime + second;
        }
        return date;
    }
}

测试

1.替换dateNum的值:
120 -> 2分钟0秒
12345 -> 3小时25分钟45秒
12345678 -> 142天21小时21分钟18秒

其他说明

如果有同学需要再加上年或者世纪这种比较大的单位,可以在该程序的基础上添加,但是整体逻辑不变

猜你喜欢

转载自blog.csdn.net/qingquanyingyue/article/details/81135544