TimeUnit用法
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年")