https://blog.csdn.net/lovelichao12/article/details/76080888
TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段
1、主要作用
时间颗粒度转换
延时
2、常用的颗粒度
-
TimeUnit.DAYS //天
-
TimeUnit.HOURS //小时
-
TimeUnit.MINUTES //分钟
-
TimeUnit.SECONDS //秒
-
TimeUnit.MILLISECONDS //毫秒
-
TimeUnit.NANOSECONDS //毫微秒
-
TimeUnit.MICROSECONDS //微秒
3、时间颗粒度转换
-
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) //转化天
实例:
-
package com.app;
-
import java.util.concurrent.TimeUnit;
-
public class Test {
-
public static void main(String[] args) {
-
//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
-
}
-
}
4、延时
(1)一般的写法
-
package com.app;
-
public class Test2 {
-
public static void main(String[] args) {
-
new Thread( new Runnable() {
-
@Override
-
public void run() {
-
try {
-
Thread.sleep( 5 * 1000 );
-
System.out.println( "延时完成了");
-
} catch (InterruptedException e) {
-
e.printStackTrace();
-
}
-
}
-
}).start(); ;
-
}
-
}
(2)TimeUnit 写法
-
package com.app;
-
import java.util.concurrent.TimeUnit;
-
public class Test2 {
-
public static void main(String[] args) {
-
new Thread( new Runnable() {
-
@Override
-
public void run() {
-
try {
-
TimeUnit.SECONDS.sleep( 5 );
-
System.out.println( "延时5秒,完成了");
-
} catch (InterruptedException e) {
-
e.printStackTrace();
-
}
-
}
-
}).start(); ;
-
}
-
}
5、常用时间段
-
/**
-
* 无固定期限
-
*/
-
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年")