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年")
TimeUnit用法的更多相关文章
- 多线程java的concurrent用法详解(转载)
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...
- 四种Java线程池用法解析
本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 执行一个异步任务你还只是如下 ...
- java的concurrent用法详解
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...
- java5 Lock用法
锁是控制多个线程对共享资源进行访问的工具.通常,锁提供了对共享资源的独占访问.一次只能有一个线程获得锁,对共享资源的所有访问都需要首先获得锁.不过,某些锁可能允许对共享资源并发访问,如 ReadWri ...
- CountDownLatch和CyclicBarrier区别及用法的demo
javadoc里面的描述是这样的. CountDownLatch: A synchronization aid that allows one or more threads to wait unti ...
- synchronized Lock用法
在介绍Lock与synchronized时,先介绍下Lock: public interface Lock { void lock(); void lockInterruptibly() throws ...
- Java线程池ThreadPoolExecutor原理和用法
1.ThreadPoolExecutor构造方法 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAli ...
- java多线程管理 concurrent包用法详解
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量 ...
- CountDownLatch/CyclicBarrie用法记录
在jdk1.5中,java提供了很多工具类帮助我们进行并发编程,其中就有CountDownLatch和CyclicBarrie 1.CountDownLatch的用法 CountDownLatch 位 ...
随机推荐
- UVa 11015 - 05-2 Rendezvous
題目:有一個班級的學生要一起寫作業,所以他們要到一個統一的地點.現在給你他們各自的位置, 問集合地點定在哪,能够讓全部人走的總路徑長度最小. 分析:圖論.最短路.直接利用Floyd計算最短路,找到和值 ...
- Android平台中的三种翻页效果机器实现原理
本文给开发者集中展现了Android平台中的三种翻页效果机器实现原理,希望能够对开发者有实际的帮助价值! 第一种翻页效果如下: 实现原理: 当前手指触摸点为a,则 a点坐标为(ax,ay), ...
- 全然用linux工作,放弃windows
按: 虽然我们已经不习惯看长篇大论, 但我还是要说, 这是一篇值得你从头读到尾的长篇文章. 2005年9月22日,清华在读博士生王垠在水木社区BLOG上发表了<清华梦的粉碎--写给清华大学的退学 ...
- Codeforces Round #450 (Div. 2) D.Unusual Sequences (数学)
题目链接: http://codeforces.com/contest/900/problem/D 题意: 给你 \(x\) 和 \(y\),让你求同时满足这两个条件的序列的个数: \(a_1, a_ ...
- 4、python基本知识点及字符串常用方法
查看变量内存地址 id(变量名) ni = 123 n2 = 123 ni和n2肯定是用的两份内存,但是python对于数字在-5~257之间的数字共用一份地址,范围可以修改 name = ‘李璐 ...
- VMware Ubuntu安装详细过程(详细图解)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一.下载Ubuntu镜像文件 下载地址:http://mirrors.aliyun.com/ubuntu-releases/16. ...
- python3 求斐波那契数列(Fibonacci sequence)
输出斐波那契数列的前多少个数. 利用函数 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan # ----斐波那契数列( ...
- echarts同一页面四个图表切换的js数据交互
需求:点击tab页,切换四个不同的图表,ajax向后台请求数据,展示在四个不同的图表中. 其余的就不多说,直接上js代码了 $(function() { $("#heart").o ...
- 微信小程序实现运动步数排行(可删除)
wxml <!-- 向左滑动删除功能 --> <view class="item-box"> <view class="items" ...
- iOS开发- iOS7显示偏差(UITableView下移)解决的方法
之前碰到过一个问题. 就是利用storyboard拖动出来的控件, 在iOS7上跑老是莫名的下移. 比方这样(红色区域为多余的) 解决的方法: iOS7在Conttoller中新增了这个属性: aut ...