TimeUnit用法

简介

TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段。

作用

  • 时间颗粒度转换
  • 延时

常用的颗粒度

TimeUnit.DAYS          //天  
TimeUnit.HOURS         //小时  
TimeUnit.MINUTES       //分钟  
TimeUnit.SECONDS       //秒  
TimeUnit.MILLISECONDS  //毫秒 
TimeUnit.NANOSECONDS   //毫微秒
TimeUnit.MICROSECONDS  //微秒

时间颗粒度转换

public long toMillis(long d)    //转化成毫秒  
public long toSeconds(long d)  //转化成秒  
public long toMinutes(long d)  //转化成分钟  
public long toHours(long d)    //转化成小时  
public long toDays(long d)     //转化天 

示列

 /**
     * @Description: 转换示列
     * @Author: zhuyang
     * @Date: 2022/1/8 14:54
     * @return: void
     **/
    public void convert(){
        //将1天转换为小时
        System.out.println("将1天转换为小时:  "+TimeUnit.DAYS.toHours(1));
        //答案:24
        //将1小时转换为秒
        System.out.println("将1小时转换为秒:  "+TimeUnit.HOURS.toSeconds(1));
        //答案: 3600
        //将3天转换为小时
        System.out.println("将3天转换为小时: "+TimeUnit.HOURS.convert(3,TimeUnit.DAYS));
        //答案: 72
    }

延时

 /**
     * @Description: 睡眠方式
     * @Author: zhuyang
     * @Date: 2022/1/8 15:04
     * @return: void
     **/
    public void sleep(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                long currentTimeMillis = System.currentTimeMillis();
                try {
                    TimeUnit.SECONDS.sleep(2);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println("睡眠了几秒钟:"+TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()-currentTimeMillis));
            }
        }).start();
    }

常用时间段

 /** 
     * 无固定期限 
     */  
    NONE(0, "无固定期限")  
      
    /** 
     * 1秒钟 
     */  
    ,ONE_SEC(1, "1秒钟")  
  
    /** 
     * 5秒钟 
     */  
    ,FIVE_SEC(5, "5秒钟")  
  
    /** 
     * 10秒钟 
     */  
    ,TEN_SEC(10, "10秒钟")  
  
    /** 
     * 30秒钟 
     */  
    ,HALF_A_MIN(30, "30秒钟")  
  
    /** 
     * 1分钟 
     */  
    ,ONE_MIN(60, "1分钟")  
  
    /** 
     * 5分钟 
     */  
    ,FIVE_MIN(5 * 60, "5分钟")  
  
    /** 
     * 10分钟 
     */  
    ,TEN_MIN(10 * 60, "10分钟")  
      
    /** 
     * 20分钟 
     */  
    ,TWENTY_MIN(20 * 60, "20分钟")  
  
    /** 
     * 30分钟 
     */  
    ,HALF_AN_HOUR(30 * 60, "30分钟")  
  
    /** 
     * 1小时 
     */  
    ,ONE_HOUR(60 * 60, "1小时")  
  
    /** 
     * 1天 
     */  
    ,ONE_DAY(24 * 60 * 60, "1天")  
  
    /** 
     * 1个月 
     */  
    ,ONE_MON(30 * 24 * 60 * 60, "1个月")  
  
    /** 
     * 1年 
     */  
    ,ONE_YEAR(365 * 24 * 60 * 60, "1年")  

Gitee地址

https://gitee.com/zhuayng/foundation-study/blob/develop/JavaBasis/JUC/src/main/java/com/yxkj/juc/other/TimeUnitDemo.java

转载

https://www.cnblogs.com/jpfss/p/9599950.html

XFS
原文地址:https://www.cnblogs.com/xiaofengshan/p/15778500.html