TimeUnit是一个可用的枚举 java.util.concurrent包. TimeUnit 顾名思义,处理时间单位。 TimeUnit 提供给定粒度单位的时间表示。它提供了跨时间单位转换时间的方法。 TimeUnit 对于了解如何解释给定时间(即应考虑哪个时间单位)很有用。持续时间之间的微小差异(例如以微秒和纳秒为单位)可以使用 TimeUnit 计算出来。它用于执行定时和延迟操作。
它支持纳秒、微秒、毫秒、秒、分钟、小时和天单位。对于这些单位,TimeUnit 指定相应的枚举常量:
- 纳秒:千分之一微秒
- 微秒:千分之一毫秒
- 毫秒:千分之一秒
- 秒数:一秒
- 分钟:六十秒
- 时间:六十分钟
- 天数:二十四小时
示例 1:
Java
// Java program to demonstrate TimeUnit Class
import java.util.concurrent.TimeUnit;
public class GFG {
public static void main(String args[])
{
long hours = 96;
// Convert given time (hours)in days
long days = TimeUnit.DAYS.convert(hours, TimeUnit.HOURS);
// Convert days in minutes
long minutes = TimeUnit.MINUTES.convert(days, TimeUnit.DAYS);
System.out.println(hours + " Hours = " + days
+ " Days = " + +minutes
+ " Minutes");
// Convert given time (minutes) to microseconds
long micros = TimeUnit.MINUTES.toMicros(minutes);
System.out.println(minutes + " Minutes = " + micros
+ " Microseconds");
// Convert given time (microseconds) to seconds
long seconds = TimeUnit.MICROSECONDS.toSeconds(micros);
System.out.println(micros + " Microseconds = "
+ seconds + " Seconds");
// Create TimeUnit object of type Minutes
TimeUnit time = TimeUnit.valueOf("MINUTES");
System.out.println("TimeUnit object type: " + time);
}
}
输出
96 Hours = 4 Days = 5760 Minutes 5760 Minutes = 345600000000 Microseconds 345600000000 Microseconds = 345600 Seconds TimeUnit object type: MINUTES
示例 2:
Java
// Java program to demonstrate TimeUnit Class
import java.util.concurrent.TimeUnit;
public class GFG implements Runnable {
public void run()
{
// Get array of TimeUnit enum constants using
// values()
for (TimeUnit unit : TimeUnit.values()) {
try {
// pause for 1 second
TimeUnit.SECONDS.sleep(1);
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(
unit + " : "
+ unit.convert(24, TimeUnit.HOURS));
}
}
public static void main(String args[])
{
GFG obj1 = new GFG();
System.out.println("TimeUnit Example");
// Create and start Thread
Thread t1 = new Thread(obj1);
t1.start();
System.out.println("Now, thread will run for 5 seconds");
try {
// Specify Thread join time, here, 5 seconds
TimeUnit.SECONDS.timedJoin(t1, 5);
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Thread Execution Paused");
System.out.println("Resuming Thread Execution...");
}
}
输出
TimeUnit Example Now, thread will run for 5 seconds NANOSECONDS : 86400000000000 MICROSECONDS : 86400000000 MILLISECONDS : 86400000 SECONDS : 86400 Thread Execution Paused Resuming Thread Execution... MINUTES : 1440 HOURS : 24 DAYS : 1
TimeUnit 中可用的实用方法:
方法 | 说明 |
---|---|
长convert() | 将输入的持续时间及其单位转换为所需的单位。 |
长toDays() | 将持续时间转换为天。 |
长toHours() | 将持续时间转换为小时。 |
长toMicros() | 将持续时间转换为微秒。 |
长toMillis() | 将持续时间转换为毫秒。 |
长toMinutes() | 将持续时间转换为分钟。 |
长toNanos() | 将持续时间转换为纳秒。 |
长toSeconds() | 将持续时间转换为秒。 |
静态TimeUnit valueOf() | 返回具有指定名称的类型的枚举常量。 |
静态TimeUnit [] values() | 返回包含枚举常量的数组。 |
无效sleep() | 使用此时间单位执行Thread.sleep。暂停给定的 TimeUnit。 |
无效timedWait() | 使用此时间单位执行定时Object.wait。等待给定的时间单位执行。 |
无效timedJoin() | 使用此时间单位执行定时Thread.join。提供线程仅在给定的时间内完成工作。 |
相关用法
- Java TimeUnit convert()用法及代码示例
- Java TimeUnit sleep()用法及代码示例
- Java TimeUnit toDays()用法及代码示例
- Java TimeUnit toHours()用法及代码示例
- Java TimeUnit toMicros()用法及代码示例
- Java TimeUnit toMillis()用法及代码示例
- Java TimeUnit toMinutes()用法及代码示例
- Java TimeUnit toNanos()用法及代码示例
- Java TimeUnit toSeconds()用法及代码示例
- Java TimeUnit valueOf()用法及代码示例
- Java TimeUnit values()用法及代码示例
- Java TimeZone Clone()用法及代码示例
- Java Timer schedule()用法及代码示例
- Java Timer scheduleAtFixedRate()用法及代码示例
- Java TimerTask cancel()用法及代码示例
- Java TimerTask run()用法及代码示例
- Java TimerTask scheduledExecutionTime()用法及代码示例
- Java Timer cancel()用法及代码示例
- Java Timer purge()用法及代码示例
- Java TimeZone clone()用法及代码示例
- Java TimeZone getAvailableIDs()用法及代码示例
- Java TimeZone getDefault()用法及代码示例
- Java TimeZone getDisplayName()用法及代码示例
- Java TimeZone getDSTSavings()用法及代码示例
- Java TimeZone getID()用法及代码示例
注:本文由纯净天空筛选整理自hemavatisabu大神的英文原创作品 TimeUnit Class in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。