TimeUnit 使用
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(); ; } } |
- TimeUnit 写法
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(); ; } } |
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步