博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JUC——TimeUnit工具类(二)
阅读量:6967 次
发布时间:2019-06-27

本文共 2045 字,大约阅读时间需要 6 分钟。

TimeUnit工具类

在java.util.concurrent开发包里面提供有一个TimeUnit类,这个类单独看它的描述是一个时间单元类。该类是一个枚举类,这也是juc开包里面唯一的一个枚举类。

public  enum TimeUnit extends Enum
这个类之中支持有:日(
DAYS)、时(
HOURS)、分(
MINUTS)、秒(
SECONDS)、毫秒(
MILLISECONDS)、微秒(
MICROSECONDS)、纳秒(
NANOSECONDS).
 
范例:进行休眠控制,休眠2秒
  • 使用Thread.sleep() 方法处理
    package so.strong.concurrents;public class StrongDemo {    public static void main(String[] args) throws Exception{        System.out.println("[sleep start]"+System.currentTimeMillis());        Thread.sleep(2*1000);        System.out.println("[sleep end]"+System.currentTimeMillis());    }}

     

  • 直接使用TimeUnit类来处理
    package so.strong.concurrents;import java.util.concurrent.TimeUnit;public class StrongDemo {    public static void main(String[] args) throws Exception{        System.out.println("[sleep start]"+System.currentTimeMillis());        TimeUnit.SECONDS.sleep(2);        System.out.println("[sleep end]"+System.currentTimeMillis());    }}

发现TimeUnit可以实现更加精确的时间处理操作。除了这一功能之外,在TimeUnit里面最为重要的特点是可以方便的进行各种时间单位的转换,它提供了一个convert()方法

// sourceDuration long类型时间数字// sourceUnit 目标的转换类型public long convert(long sourceDuration,TimeUnit sourceUnit)

 

范例:转换一小时为毫秒

package so.strong.concurrents;import java.util.concurrent.TimeUnit;public class StrongDemo {    public static void main(String[] args) throws Exception{        long time = TimeUnit.MILLISECONDS.convert(1,TimeUnit.HOURS);        System.out.println("1小时转为毫秒:"+time);    }}

 

范例:3天后的日期

package so.strong.concurrents;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.TimeUnit;public class StrongDemo {    public static void main(String[] args) throws Exception {        long time = TimeUnit.MILLISECONDS.convert(3, TimeUnit.DAYS);        System.out.println("3天转为毫秒:" + time);        long threeTime = System.currentTimeMillis() + time; //当前时间的毫秒数+3天后的毫秒数        System.out.println("3天后的日期:" + new Date(threeTime));        System.out.println("3天后的日期:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(threeTime)));    }}

 

转载于:https://www.cnblogs.com/itermis/p/8929765.html

你可能感兴趣的文章
学习Linux决心书
查看>>
2017年 JavaScript 框架回顾 -- React生态系统
查看>>
不停机发布策略
查看>>
OpenStack各组件介绍
查看>>
J.U.C工具类中的CountDownLatch和CyclicBarrier
查看>>
dovecot+mysql
查看>>
Mysql密码管理及授权
查看>>
JAVA线程安全之synchronized关键字的正确用法
查看>>
springmvc+mybatis+dubbo分布式平台-maven构建根项目
查看>>
一个小常识
查看>>
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
查看>>
解决虚拟机中使用ntpdate报错:ntpdate[46700]: no server suitab
查看>>
Docker 快速删除所有容器
查看>>
【OCP认证12c题库】CUUG 071题库考试原题及答案(27)
查看>>
OSS支持IPV6/IPV4双栈访问域名
查看>>
阿里云应用实时监控 ARMS 再升级,支持 Prometheus 开源生态
查看>>
最全面的IGMP协议总结!
查看>>
你还在 Select * 吗?
查看>>
机器学习能革了数据库索引的命吗?
查看>>
把PDF转成PPT的免费工具
查看>>