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年")