package cn.java.code.java.util.concurrent;
import java.util.concurrent.TimeUnit;
import static java.util.concurrent.TimeUnit.NANOSECONDS;
//TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段
//作用: 时间颗粒度转换 延时
public class TimeUnitDemo {
//将给定单位的给定持续时间转换为本机。
//convert(long sourceDuration, TimeUnit sourceUnit)
// 使用此时间单位执行 Thread.sleep 。
// sleep(long timeout)
// 使用此时间单位执行定时 Thread.join 。
// timedJoin(Thread thread, long timeout)
//各种to 相当于 TimeUnit(枚举).convert(duration, this) 。
//valueOf(String name)
//以指定的名称返回此类型的枚举常量。
public static void main(String[] args) {
System.out.println(TimeUnit.SECONDS);
// try {//延时操作 -->TimeUnit.SECONDS.sleep( 5 )==Thread.sleep(5000);
// TimeUnit.SECONDS.sleep( 5 );
//
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
//1天有24个小时 1代表1天:将1天转化为小时
System.out.println( TimeUnit.DAYS.toHours( 1 ) );
//结果: 24
//1小时有3600秒
System.out.println( TimeUnit.HOURS.toSeconds( 1 ));
//结果3600
//把3天转化成小时
System.out.println( TimeUnit.HOURS.convert( 3 , TimeUnit.DAYS ) );
//结果是:72
System.out.println(TimeUnit.MINUTES.convert(2,TimeUnit.DAYS));//两天转换分钟 2880
//60000 1分钟等于
System.out.println(TimeUnit.MINUTES.toMillis(1));
//60
System.out.println(TimeUnit.MINUTES.toSeconds(1));
//1
System.out.println(TimeUnit.MINUTES.toMinutes(1));
}
/**
* TimeUnit.DAYS //天
* TimeUnit.HOURS //小时
* TimeUnit.MINUTES //分钟
* TimeUnit.SECONDS //秒
* TimeUnit.MILLISECONDS //毫秒
*/
//1秒=1000 毫秒
// 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); //转化天
}