前言
平时在涉及时间单位转换的代码时,通常都是手动计算或写出表达式。比如在线程中休眠13分钟:Thread.sleep(13*60) 这种写法可读性较差,也容易出错。本文介绍TimeUnit类来进行时间单位转换。
基本用法
除了单位转换,TimeUnit也可以让当前线程休眠,并且转换方式也有两种,下面有演示。
//天数转秒数
TimeUnit.DAYS.toSeconds(1);
//天数转小时
TimeUnit.DAYS.toHours(1);
//秒数转毫秒数
TimeUnit.SECONDS.toMillis(60);
//秒数转分钟
TimeUnit.SECONDS.toMinutes(60);
//当前线程休眠三秒,底层调用的是Thread.sleep()
TimeUnit.SECONDS.sleep(3);
//天数转秒数,另一种转换方式
TimeUnit.DAYS.convert(1,TimeUnit.SECONDS);
常用方法
toNanos(long) long转换为纳秒toMicros(long) long转换为微秒toMillis(long) long转换为毫秒toSeconds(long) long转换为秒toMinutes(long) long转换为分钟toHours(long) long转换为小时toDays(long) long转换为天sleep(long) void当前线程休眠convert(long,TimeUnit) long转换为指定单位