时间(秒)转时间字符串(x天x时x分x秒)

前言

通常为了直观表现时间会把时间数字转成时间字符串
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秒

其他说明

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值