Java TimeUnit时间工具类

3,199 阅读1分钟

前言

平时在涉及时间单位转换的代码时,通常都是手动计算或写出表达式。比如在线程中休眠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 转换为指定单位