将秒或分钟的值转换为xx天xx小时xx分钟xx秒 如果 “xx” 为0 自动缺省
import java.util.concurrent.TimeUnit; public class DateUtils { private static final String[] UNIT_DESC = new String[]{"天", "小时", "分钟", "秒"}; /** * 格式化持续时间<br/> * 将持续时间,格式化为 xx天xx小时xx分钟xx秒 如果 "xx" 为0 自动缺省。 * * @param seconds 持续时间,单位(分钟) * @return 格式化后的字符串 * @see TimeUnit 时间单位转换工具 */ public static String convertMinute2Str(long minute) { StringBuilder sb = new StringBuilder(); long[] date = {TimeUnit.SECONDS.toHours(minute) % 24,TimeUnit.SECONDS.toMinutes(minute) % 60, TimeUnit.SECONDS.toSeconds(minute) % 60}; for (int i = 0; i < date.length; i++) { long l = date[i]; if (l > 0) sb.append(l).append(UNIT_DESC[i]); } return sb.toString(); } /** 格式化持续时间<br/> * 将持续时间,格式化为 xx天xx小时xx分钟xx秒 如果 "xx" 为0 自动缺省。 * * @param seconds 持续时间,单位(秒) * @return 格式化后的字符串 * @see TimeUnit 时间单位转换工具 */ public static String convertSeconds2Str(long seconds) { StringBuilder sb = new StringBuilder(); long[] date = {TimeUnit.SECONDS.toDays(seconds), TimeUnit.SECONDS.toHours(seconds) % 24, TimeUnit.SECONDS.toMinutes(seconds) % 60, TimeUnit.SECONDS.toSeconds(seconds) % 60}; for (int i = 0; i < date.length; i++) { long l = date[i]; if (l > 0) sb.append(l).append(UNIT_DESC[i]); } return sb.toString(); } public static void main(String[] args) { System.out.println(convertMinute2Str(140)); // 2小时20分钟 System.out.println(convertSeconds2Str(33680)); // 9小时21分钟20秒 } }
未经允许请勿转载:程序喵 » 【Java】数值类型分秒时间格式化为xx天xx小时xx分钟xx秒