TimeUnit
TimeUnit是java.util.concurrent包下面的一個類,表示給定單元粒度的時間段惨奕。
常用的顆粒度
TimeUnit.DAYS //天
TimeUnit.HOURS //小時
TimeUnit.MINUTES //分鐘
TimeUnit.SECONDS //秒
TimeUnit.MILLISECONDS //毫秒
1.顆粒度轉(zhuǎn)換
public long toMillis(long d) //轉(zhuǎn)化成毫秒
public long toSeconds(long d) //轉(zhuǎn)化成秒
public long toMinutes(long d) //轉(zhuǎn)化成分鐘
public long toHours(long d) //轉(zhuǎn)化成小時
public long toDays(long d) //轉(zhuǎn)化天
import java.util.concurrent.TimeUnit;
public class TimeUnitTest {
public static void main(String[] args) {
//convert 1 day to 24 hour
System.out.println(TimeUnit.DAYS.toHours(1));
//convert 1 hour to 60*60 second.
System.out.println(TimeUnit.HOURS.toSeconds(1));
//convert 3 days to 72 hours.
System.out.println(TimeUnit.HOURS.convert(3, TimeUnit.DAYS));
}
}
2.延時,可替代Thread.sleep()竭钝。
import java.util.concurrent.TimeUnit;
public class ThreadSleep {
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
private int count = 0;
@Override
public void run() {
for (int i = 0; i < 10; i++) {
try {
// Thread.sleep(500); //sleep 單位是毫秒
TimeUnit.SECONDS.sleep(1); // 單位可以自定義,more convinent
} catch (InterruptedException e) {
e.printStackTrace();
}
count++;
System.out.println(count);
}
}
});
t.start();
}
}