• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
flydoging
博客园    首页    新随笔    联系   管理    订阅  订阅

TimeUnit源码

简介:

TimeUnit中主要是一些时间单位的枚举类,这些枚举类实现了TimeUnit中定义的一些方法,其实就是进行不同时间单位之间的转化:

toNanos,toMicros,toMillis,toSeconds,toMinutes,toHours,toDays,convert,excessNanos

举例说明:

 

NANOSECONDS {
        public long toNanos(long d)   { return d; }  // 转成纳秒
        public long toMicros(long d)  { return d/(C1/C0); } // 转成微秒
        public long toMillis(long d)  { return d/(C2/C0); } // 转成毫秒
        public long toSeconds(long d) { return d/(C3/C0); } // 转成秒
        public long toMinutes(long d) { return d/(C4/C0); } // 转成分钟
        public long toHours(long d)   { return d/(C5/C0); } // 转成小时
        public long toDays(long d)    { return d/(C6/C0); } // 转成天
        public long convert(long d, TimeUnit u) { return u.toNanos(d); } // 将单位为u的时间d转成纳秒
        int excessNanos(long d, long m) { return (int)(d - (m*C2)); } // 用于超时等待(sleep、join、wait),其中m参数的单位为毫秒,若d为毫秒以下,则计算剩余需要等待时间,否则返回0,即剩余需要等待的纳秒数为0
    }

 

posted @ 2020-08-26 00:18  flydoging  阅读(221)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3