前言
通常为了直观表现时间会把时间数字转成时间字符串
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秒
其他说明
如果有同学需要再加上年或者世纪这种比较大的单位,可以在该程序的基础上添加,但是整体逻辑不变