TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段
主要作用
常用的颗粒度
1
2
3
4
5
|
TimeUnit.DAYS //天
TimeUnit.HOURS //小时
TimeUnit.MINUTES //分钟
TimeUnit.SECONDS //秒
TimeUnit.MILLISECONDS //毫秒
|
1、时间颗粒度转换
1
2
3
4
5
|
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) //转化天
|
例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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
}
}
|
2、延时
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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(); ;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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(); ;
}
}
|